diff --git a/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml b/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml index 33e04c93..55e4f7d2 100644 --- a/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml +++ b/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml @@ -38,484 +38,19 @@ paths: content: application/json: schema: - description: A request for a bulk quote. - properties: &ref_53 - bulkQuoteId: - description: A Mojaloop API bulk quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - expiration: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - from: - properties: &ref_1 - dateOfBirth: - description: Date of birth in the form YYYY-MM-DD. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - type: string - displayName: - description: Display name of the sender, if known. - type: string - extensionList: - items: &ref_12 - properties: &ref_29 - key: - maxLength: 32 - minLength: 1 - type: string - value: - maxLength: 128 - minLength: 1 - type: string - type: object - maxItems: 16 - minItems: 0 - type: array - firstName: - description: Party first name. - type: string - fspId: - description: >- - Mojaloop scheme FSPID of the DFSP which owns the party - account. - type: string - idSubValue: - maxLength: 128 - minLength: 1 - type: string - idType: - enum: &ref_21 - - MSISDN - - ACCOUNT_NO - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - type: string - idValue: - description: The identifier string used to identify the sender. - type: string - lastName: - description: Party last name. - type: string - merchantClassificationCode: - description: >- - Up to 4 digits specifying the sender's merchant - classification, if known and applicable. - type: string - middleName: - description: Party middle name. - type: string - type: - enum: &ref_22 - - CONSUMER - - AGENT - - BUSINESS - - DEVICE - type: string - required: &ref_2 - - idType - - idValue - type: object - geoCode: - description: >- - Indicates the geographic location from where the transaction - was initiated. - properties: &ref_19 - latitude: - description: >- - The API data type Latitude is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. - pattern: >- - ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ - type: string - longitude: - description: >- - The API data type Longitude is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. - pattern: >- - ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ - type: string - required: &ref_20 - - latitude - - longitude - type: object - individualQuotes: - items: - description: Data model for individual quote in a bulk quote request. - properties: &ref_36 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - amountType: - enum: &ref_8 - - SEND - - RECEIVE - type: string - currency: - enum: &ref_0 - - AED - - AFN - - ALL - - AMD - - ANG - - AOA - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XCD - - XDR - - XOF - - XPF - - XTS - - XXX - - YER - - ZAR - - ZMW - - ZWD - maxLength: 3 - minLength: 3 - type: string - feesAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - feesCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - initiator: - enum: &ref_9 - - PAYER - - PAYEE - type: string - initiatorType: - enum: &ref_10 - - CONSUMER - - AGENT - - BUSINESS - - DEVICE - type: string - note: - description: An optional note associated with the quote. - maxLength: 128 - minLength: 1 - type: string - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - to: - properties: *ref_1 - required: *ref_2 - type: object - transactionId: - description: >- - ID of the transaction, the ID is decided by the Payer - FSP during the creation of the quote. - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionType: - enum: &ref_11 - - TRANSFER - - DEPOSIT - - PAYMENT - type: string - required: &ref_37 - - quoteId - - transactionId - - to - - amountType - - amount - - currency - - transactionType - - initiator - - initiatorType - type: object - maxItems: 1000 - minItems: 1 - type: array - required: &ref_54 - - bulkQuoteId - - from - - individualQuotes - type: object + $ref: '#/components/schemas/bulkQuoteRequest' description: Incoming request for a bulk quotation. responses: '200': content: application/json: schema: - description: A response to a request for a bulk quote. - properties: &ref_4 - bulkQuoteId: - description: A Mojaloop API bulk quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - expiration: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - individualQuoteResults: - description: >- - Fees for each individual transaction, if any of them are - charged per transaction. - items: - oneOf: - - description: >- - Data model for successful individual quote in a bulk - quote response. - properties: &ref_40 - payeeFspCommissionAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeFspCommissionAmountCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - payeeFspFeeAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeFspFeeAmountCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - payeeReceiveAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeReceiveAmountCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transferAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - transferAmountCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - required: &ref_41 - - quoteId - type: object - - description: >- - Data model for failed individual quote in a bulk - quote response. - properties: &ref_38 - errorResponse: - properties: &ref_3 - message: - description: Error message text - type: string - statusCode: - description: > - Backend error code from FSP. Ideally, - statusCode is FSPIOP conforming. SDK will - use status code to retrieve an FSPIOP error - with the same code. - - Otherwise, a suitable generic FSPIOP will be - used with the errorResponse in the FSPIOP - error message. - type: string - type: object - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - required: &ref_39 - - quoteId - - errorResponse - type: object - maxItems: 1000 - minItems: 1 - type: array - required: &ref_5 - - bulkQuoteId - - individualQuoteResults - type: object + $ref: '#/components/schemas/bulkQuoteResponse' description: A response to the bulk quote request. '400': - content: &ref_6 - application/json: - schema: - properties: *ref_3 - type: object - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: &ref_7 - application/json: - schema: - properties: *ref_3 - type: object - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Requests a bulk quote. tags: - BulkQuotes @@ -523,32 +58,20 @@ paths: get: operationId: BackendBulkQuotesGet parameters: - - description: The identifier value. - in: path - name: idValue - required: true - schema: &ref_13 - type: string + - $ref: '#/components/parameters/idValue' responses: '200': content: application/json: schema: - description: A response to a request for a bulk quote. - properties: *ref_4 - required: *ref_5 - type: object + $ref: '#/components/schemas/bulkQuoteResponse' description: Response containing details of the requested bulk quote. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Requests information relating to a bulk quote identified by the specified identifier value. @@ -565,85 +88,19 @@ paths: `bulkTransactionId` that was used for the creation of the bulk transfer. operationId: BackendBulkTransactionsPut parameters: - - description: Identifier of the bulk transaction to continue as returned in. - in: path - name: bulkTransactionId - required: true - schema: &ref_30 - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - title: CorrelationId - type: string + - $ref: '#/components/parameters/bulkTransactionId' requestBody: content: application/json: schema: - properties: - bulkHomeTransactionID: - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - type: string - individualTransferResults: - description: >- - List of individual transfers in a bulk transfer with accept - party information. - items: - description: >- - Data model for the 'individualTransfer' while accepting - party or quote. - properties: - homeTransactionId: - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and DFSP - backend systems. - type: string - transactionId: - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - title: CorrelationId - type: string - required: - - homeTransactionId - type: object - minItems: 1 - type: array - required: - - bulkHomeTransactionID - - individualTransferResults - type: object - description: Bulk transaction request body. - required: true + $ref: '#/components/schemas/bulkTransactionResponse' responses: '202': description: Bulk transaction information successfully amended. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Callbacks for the bulk transaction request. tags: - BulkTransactionsPut @@ -654,133 +111,19 @@ paths: content: application/json: schema: - properties: &ref_55 - bulkQuote: - description: A response to a request for a bulk quote. - properties: *ref_4 - required: *ref_5 - type: object - bulkTransferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - from: - properties: *ref_1 - required: *ref_2 - type: object - individualTransfers: - items: - description: >- - Data model for individual transfer in a bulk transfer - request. - properties: &ref_42 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - amountType: - enum: *ref_8 - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - feesAmount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - feesCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - initiator: - enum: *ref_9 - type: string - initiatorType: - enum: *ref_10 - type: string - note: - description: An optional note associated with the quote. - maxLength: 128 - minLength: 1 - type: string - to: - properties: *ref_1 - required: *ref_2 - type: object - transactionType: - enum: *ref_11 - type: string - transferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - required: &ref_43 - - transferId - - amount - - currency - type: object - maxItems: 1000 - minItems: 1 - type: array - required: &ref_56 - - bulkTransferId - - individualTransfers - type: object + $ref: '#/components/schemas/bulkTransferRequest' description: An incoming bulk transfer request. responses: '200': content: application/json: schema: - properties: &ref_14 - bulkTransferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - homeTransactionId: - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the switch and DFSP backend systems. - type: string - individualTransferResults: - items: - description: >- - Data model for individual transfer in a bulk transfer - response. - properties: &ref_44 - errorResponse: - properties: *ref_3 - type: object - extensionList: - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - transferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - required: &ref_45 - - transferId - type: object - maxItems: 1000 - minItems: 1 - type: array - required: &ref_15 - - homeTransactionId - type: object + $ref: '#/components/schemas/bulkTransferResponse' description: The bulk transfer was accepted. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Execute bulk transfer of funds from an external account to internal accounts. @@ -790,30 +133,20 @@ paths: get: operationId: BackendBulkTransfersGet parameters: - - description: The identifier value. - in: path - name: idValue - required: true - schema: *ref_13 + - $ref: '#/components/parameters/idValue' responses: '200': content: application/json: schema: - properties: *ref_14 - required: *ref_15 - type: object + $ref: '#/components/schemas/bulkTransferResponse' description: Response containing details of the requested bulk transfer. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Requests information relating to a bulk transfer identified by the specified identifier value. @@ -823,36 +156,20 @@ paths: get: operationId: BackendOtpGet parameters: - - in: path - name: requestToPayId - required: true - schema: &ref_31 - maxLength: 128 - minLength: 1 - type: string + - $ref: '#/components/parameters/requestToPayId' responses: '200': content: application/json: schema: - properties: &ref_65 - otpValue: - description: OTP value. - type: string - required: &ref_66 - - otpValue - type: object + $ref: '#/components/schemas/otpDetails' description: Response containing details of the OTP. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Requests OTP. tags: - OTP @@ -864,42 +181,21 @@ paths: `{idValue}`, is located. operationId: BackendParticipantsGetByTypeAndID parameters: - - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - in: path - name: idType - required: true - schema: &ref_16 - type: string - - description: The identifier value. - in: path - name: idValue - required: true - schema: *ref_13 + - $ref: '#/components/parameters/idType' + - $ref: '#/components/parameters/idValue' responses: '200': content: application/json: schema: - properties: &ref_17 - fspId: - description: FSP identifier. - maxLength: 32 - minLength: 1 - type: string - type: object + $ref: '#/components/schemas/participantsResponse' description: Response containing details of the requested party. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Asks for the identifier (fspId) of the scheme participant (FSP) that can handle transfers for the specified identifier type and value. @@ -913,44 +209,22 @@ paths: `{idType}`, `{idValue}` and `{idSubValue}` is located. operationId: BackendParticipantsGetByTypeIDAndSubId parameters: - - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - in: path - name: idType - required: true - schema: *ref_16 - - description: The identifier value. - in: path - name: idValue - required: true - schema: *ref_13 - - description: >- - A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. - in: path - name: idSubValue - required: true - schema: &ref_18 - type: string + - $ref: '#/components/parameters/idType' + - $ref: '#/components/parameters/idValue' + - $ref: '#/components/parameters/idSubValue' responses: '200': content: application/json: schema: - properties: *ref_17 - type: object + $ref: '#/components/schemas/participantsResponse' description: Response containing details of the requested party. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Asks for the identifier (fspId) of the scheme participant (FSP) that can handle transfers for the specified identifier type and value. @@ -964,37 +238,21 @@ paths: `{idType}` and `{idValue}`. operationId: BackendPartiesGetByTypeAndID parameters: - - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - in: path - name: idType - required: true - schema: *ref_16 - - description: The identifier value. - in: path - name: idValue - required: true - schema: *ref_13 + - $ref: '#/components/parameters/idType' + - $ref: '#/components/parameters/idValue' responses: '200': content: application/json: schema: - properties: *ref_1 - required: *ref_2 - type: object + $ref: '#/components/schemas/transferParty' description: Response containing details of the requested party. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Requests information relating to a transfer party identified by the specified identifier type and value. @@ -1008,44 +266,22 @@ paths: identified by `{idType}`, `{idValue}` and `{idSubValue}`. operationId: BackendPartiesGetByTypeIdAndSubId parameters: - - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - in: path - name: idType - required: true - schema: *ref_16 - - description: The identifier value. - in: path - name: idValue - required: true - schema: *ref_13 - - description: >- - A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. - in: path - name: idSubValue - required: true - schema: *ref_18 + - $ref: '#/components/parameters/idType' + - $ref: '#/components/parameters/idValue' + - $ref: '#/components/parameters/idSubValue' responses: '200': content: application/json: schema: - properties: *ref_1 - required: *ref_2 - type: object + $ref: '#/components/schemas/transferParty' description: Response containing details of the requested party. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '404': - description: >- - The party specified by the provided identifier type and value is not - known to the server. + $ref: '#/components/responses/404' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: >- Requests information relating to a transfer party identified by the specified identifier type, value and subId value. @@ -1061,210 +297,19 @@ paths: content: application/json: schema: - description: A request for a quote for transfer from the DFSP backend. - properties: &ref_67 - amount: - description: >- - Depending on `amountType`. If SEND - The amount the Payer - would like to send, that is, the amount that should be - withdrawn from the Payer account including any fees. The - amount is updated by each participating entity in the - transaction. If RECEIVE - The amount the Payee should - receive, that is, the amount that should be sent to the - receiver exclusive any fees. The amount is not updated by - any of the participating entities. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - amountType: - description: SEND for send amount, RECEIVE for receive amount. - enum: *ref_8 - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - expiration: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - extensionList: - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - feesAmount: - description: >- - The fees in the transaction. The fees element should be - empty if fees should be non-disclosed. The fees element - should be non-empty if fees should be disclosed. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - feesCurrency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - from: - description: >- - Information about the Payer in the proposed financial - transaction. - properties: *ref_1 - required: *ref_2 - type: object - geoCode: - description: >- - Indicates the geographic location from where the transaction - was initiated. - properties: *ref_19 - required: *ref_20 - type: object - initiator: - description: >- - Specifies if the initiator of the transfer is the Payer or - Payee. - enum: *ref_9 - type: string - initiatorType: - description: Specifies the type of the transaction initiator. - enum: *ref_10 - type: string - note: - description: An optional note associated with the requested transfer. - maxLength: 128 - minLength: 1 - type: string - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - to: - description: >- - Information about the Payee in the proposed financial - transaction. - properties: *ref_1 - required: *ref_2 - type: object - transactionId: - description: >- - ID of the transaction, the ID is decided by the Payer FSP - during the creation of the quote. - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionType: - description: Type of transaction for which the quote is requested. - enum: *ref_11 - type: string - required: &ref_68 - - quoteId - - transactionId - - to - - from - - amountType - - amount - - currency - - transactionType - - initiator - - initiatorType - type: object + $ref: '#/components/schemas/quoteRequest' description: Request for a transfer quotation. responses: '200': content: application/json: schema: - description: A response to a request for a quote. - properties: &ref_25 - expiration: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - extensionList: - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - geoCode: - description: >- - Indicates the geographic location from where the - transaction was initiated. - properties: *ref_19 - required: *ref_20 - type: object - payeeFspCommissionAmount: - description: Transaction commission from the Payee FSP. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeFspCommissionAmountCurrency: - description: Currency of the `payeeFspCommissionAmount`. - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - payeeFspFeeAmount: - description: Payee FSP’s part of the transaction fee. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeFspFeeAmountCurrency: - description: The currency of the `payeeFspFeeAmount`. - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - payeeReceiveAmount: - description: >- - The amount that the Payee should receive in the end-to-end - transaction. Optional as the Payee FSP might not want to - disclose any optional Payee fees. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - payeeReceiveAmountCurrency: - description: The currency of the `payeeReceiveAmount`. - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionId: - description: >- - ID of the transaction, the ID is decided by the Payer FSP - during the creation of the quote. - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transferAmount: - description: >- - The amount of money that the Payer FSP should transfer to - the Payee FSP. - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - transferAmountCurrency: - description: The currency of the `transferAmount`. - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - required: &ref_26 - - quoteId - - transactionId - - transferAmount - - transferAmountCurrency - type: object + $ref: '#/components/schemas/quoteResponse' description: A response to the transfer quotation request. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Requests a quote for the specified transfer. tags: - Quotes @@ -1275,98 +320,19 @@ paths: content: application/json: schema: - description: A request for a pull based transfer. - properties: &ref_70 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - expiration: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - from: - properties: *ref_1 - required: *ref_2 - type: object - geoCode: - description: >- - Indicates the geographic location from where the transaction - was initiated. - properties: *ref_19 - required: *ref_20 - type: object - initiator: - enum: *ref_9 - type: string - initiatorType: - enum: *ref_10 - type: string - note: - description: An optional note associated with the requested transfer. - maxLength: 128 - minLength: 1 - type: string - to: - properties: *ref_1 - required: *ref_2 - type: object - transactionRequestId: - description: A Mojaloop API transaction request identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionType: - enum: *ref_11 - type: string - required: &ref_71 - - transactionRequestId - - to - - from - - amount - - currency - - transactionType - - initiator - - initiatorType - type: object + $ref: '#/components/schemas/transactionRequest' description: Request for Transaction Request. responses: '200': content: application/json: schema: - description: A response to a request for a quote. - properties: &ref_72 - transactionId: - description: >- - ID of the transaction, the ID is decided by the Payer FSP - during the creation of the quote. - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transferAmount: - enum: &ref_74 - - RECEIVED - - PENDING - - ACCEPTED - - REJECTED - type: string - required: &ref_73 - - transactionId - - transactionRequestState - type: object + $ref: '#/components/schemas/transactionRequestResponse' description: A response to the transfer transaction request. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Transaction request that supports pull based transfers. tags: - TransactionRequest @@ -1380,467 +346,19 @@ paths: content: application/json: schema: - properties: &ref_80 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - amountType: - enum: *ref_8 - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - from: - properties: *ref_1 - required: *ref_2 - type: object - ilpPacket: - properties: - data: - description: Object containing transfer object. - properties: &ref_62 - amount: - description: >- - Object containing Amount and Currency of the - transfer. - properties: &ref_51 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - required: &ref_52 - - amount - - currency - type: object - payee: - description: Data model for the complex type Party. - properties: &ref_23 - merchantClassificationCode: - description: >- - A limited set of pre-defined numbers. This list - would be a limited set of numbers identifying a - set of popular merchant types like School Fees, - Pubs and Restaurants, Groceries, etc. - pattern: ^[\d]{1,4}$ - title: MerchantClassificationCode - type: string - name: - description: >- - Name of the Party. Could be a real name or a - nickname. - maxLength: 128 - minLength: 1 - title: PartyName - type: string - partyIdInfo: - description: Data model for the complex type PartyIdInfo. - properties: &ref_47 - extensionList: - description: >- - Data model for the complex type - ExtensionList - properties: &ref_34 - extension: - description: Number of Extension elements - items: - description: >- - Data model for the complex type - Extension - properties: &ref_32 - key: - description: Extension key. - maxLength: 32 - minLength: 1 - title: ExtensionKey - type: string - value: - description: Extension value. - maxLength: 128 - minLength: 1 - title: ExtensionValue - type: string - required: &ref_33 - - key - - value - title: Extension - type: object - maxItems: 16 - minItems: 1 - type: array - required: &ref_35 - - extension - title: ExtensionList - type: object - fspId: - description: FSP identifier. - maxLength: 32 - minLength: 1 - title: FspId - type: string - partyIdType: - description: > - This is a variant based on FSPIOP - `PartyIdType` specification. - - Main difference being the CONSENT and - THIRD_PARTY_LINK enums. - - - Below are the allowed values for the - enumeration. - - - MSISDN - An MSISDN (Mobile Station - International Subscriber Directory - - Number, that is, the phone number) is used - as reference to a participant. - - The MSISDN identifier should be in - international format according to the - - [ITU-T E.164 - standard](https://www.itu.int/rec/T-REC-E.164/en). - - Optionally, the MSISDN may be prefixed by a - single plus sign, indicating the - - international prefix. - - - EMAIL - An email is used as reference to a - - participant. The format of the email should - be according to the informational - - [RFC - 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is - used as reference to a participant. - - Examples of personal identification are - passport number, birth certificate - - number, and national registration number. - The identifier number is added in - - the PartyIdentifier element. The personal - identifier type is added in the - - PartySubIdOrType element. - - - BUSINESS - A specific Business (for - example, an organization or a company) - - is used as reference to a participant. The - BUSINESS identifier can be in any - - format. To make a transaction connected to a - specific username or bill number - - in a Business, the PartySubIdOrType element - should be used. - - - DEVICE - A specific device (for example, a - POS or ATM) ID connected to a - - specific business or organization is used as - reference to a Party. - - For referencing a specific device under a - specific business or organization, - - use the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP - account ID should be used as - - reference to a participant. The ACCOUNT_ID - identifier can be in any format, - - as formats can greatly differ depending on - country and FSP. - - - IBAN - A bank account number or FSP - account ID is used as reference to a - - participant. The IBAN identifier can consist - of up to 34 alphanumeric - - characters and should be entered without - whitespace. - - - ALIAS An alias is used as reference to a - participant. The alias should be - - created in the FSP as an alternative - reference to an account owner. - - Another example of an alias is a username in - the FSP system. - - The ALIAS identifier can be in any format. - It is also possible to use the - - PartySubIdOrType element for identifying an - account under an Alias defined - - by the PartyIdentifier. - - - CONSENT - TBD - - - THIRD_PARTY_LINK - TBD - enum: &ref_49 - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - - CONSENT - - THIRD_PARTY_LINK - example: PERSONAL_ID - title: PartyIdType - type: string - partyIdentifier: - description: Identifier of the Party. - example: '16135551212' - maxLength: 128 - minLength: 1 - title: PartyIdentifier - type: string - partySubIdOrType: - description: >- - Either a sub-identifier of a - PartyIdentifier, or a sub-type of the - PartyIdType, normally a - PersonalIdentifierType. - maxLength: 128 - minLength: 1 - title: PartySubIdOrType - type: string - required: &ref_48 - - partyIdType - - partyIdentifier - title: PartyIdInfo - type: object - personalInfo: - description: >- - Data model for the complex type - PartyPersonalInfo. - properties: &ref_50 - complexName: - description: >- - Data model for the complex type - PartyComplexName. - properties: &ref_46 - displayName: - description: Display name of the sender if known - type: string - firstName: - description: First name of the Party (Name Type). - example: Henrik - maxLength: 128 - minLength: 1 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - title: FirstName - type: string - idSubValue: - description: >- - The sub identifier string used to - identify the sender - type: string - idType: - enum: *ref_21 - type: string - idValue: - description: >- - The identifier string used to identify - the sender - type: string - lastName: - description: Last name of the Party (Name Type). - example: Karlsson - maxLength: 128 - minLength: 1 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - title: LastName - type: string - middleName: - description: Middle name of the Party (Name Type). - example: Johannes - maxLength: 128 - minLength: 1 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - title: MiddleName - type: string - type: - enum: *ref_22 - type: string - title: PartyComplexName - type: object - dateOfBirth: - description: Date of Birth of the Party. - example: '1966-06-16' - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - title: DateofBirth (type Date) - type: string - title: PartyPersonalInfo - type: object - required: &ref_24 - - partyIdInfo - title: Party - type: object - payer: - description: Data model for the complex type Party. - properties: *ref_23 - required: *ref_24 - title: Party - type: object - quoteId: - description: A Mojaloop API quote identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionId: - description: >- - ID of the transaction, the ID is decided by the - Payer FSP during the creation of the quote. - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - transactionType: - description: Object containing transfer object. - properties: &ref_75 - initiator: - enum: *ref_9 - type: string - initiatorType: - description: Specifies the type of the transaction initiator. - enum: *ref_10 - type: string - scenario: - enum: &ref_69 - - TRANSFER - type: string - required: &ref_76 - - scenario - - initiator - - initiatorType - type: object - required: &ref_63 - - quoteId - - transactionId - - payer - - payee - - amount - - transactionType - type: object - required: - - data - type: object - note: - maxLength: 128 - type: string - quote: - description: A response to a request for a quote. - properties: *ref_25 - required: *ref_26 - type: object - quoteRequestExtensions: - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - to: - properties: *ref_1 - required: *ref_2 - type: object - transactionType: - enum: *ref_11 - type: string - transferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - required: &ref_81 - - transferId - - quote - - from - - to - - amountType - - currency - - amount - - transactionType - - ilpPacket - type: object + $ref: '#/components/schemas/transferRequest' description: An incoming transfer request. responses: '200': content: application/json: schema: - properties: &ref_82 - completedTimestamp: - description: An ISO-8601 formatted timestamp. - example: '2020-05-19T08:38:08.699-04:00' - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - fulfilment: - description: >- - Fulfilment that must be attached to the transfer by the - Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - maxLength: 48 - pattern: ^[A-Za-z0-9-_]{43}$ - title: ilpFulfilment - type: string - homeTransactionId: - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - type: string - transferState: - description: > - Below are the allowed values for the enumeration - - RECEIVED DFSP has received the transfer. - RESERVED DFSP - has reserved the transfer. - COMMITTED DFSP has - successfully performed the transfer. - ABORTED DFSP has - aborted the transfer due a rejection or failure to perform - the transfer. - example: ABORTED - enum: &ref_27 - - RECEIVED - - RESERVED - - COMMITTED - - ABORTED - type: string - required: &ref_83 - - homeTransactionId - type: object + $ref: '#/components/schemas/transferResponse' description: The transfer was accepted. '400': - content: *ref_6 - description: Malformed or missing required headers or parameters. + $ref: '#/components/responses/400' '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Transfers funds from an external account to an internal account. tags: - Transfers @@ -1853,82 +371,16 @@ paths: for the creation of the transfer. operationId: BackendTransfersGet parameters: - - in: path - name: transferId - required: true - schema: &ref_28 - type: string + - $ref: '#/components/parameters/transferId' responses: '200': content: application/json: schema: - properties: &ref_77 - amount: - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - type: string - amountType: - enum: *ref_8 - type: string - currency: - enum: *ref_0 - maxLength: 3 - minLength: 3 - type: string - extensions: - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - from: - properties: *ref_1 - required: *ref_2 - type: object - homeTransactionId: - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - type: string - note: - maxLength: 128 - type: string - timestamp: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - to: - properties: *ref_1 - required: *ref_2 - type: object - transactionType: - enum: *ref_11 - type: string - transferState: - description: > - Below are the allowed values for the enumeration - - RECEIVED DFSP has received the transfer. - RESERVED DFSP - has reserved the transfer. - COMMITTED DFSP has - successfully performed the transfer. - ABORTED DFSP has - aborted the transfer due a rejection or failure to perform - the transfer. - enum: *ref_27 - type: string - required: &ref_78 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transferState - - transactionType - - timestamp - type: object + $ref: '#/components/schemas/transferDetailsResponse' description: The transfer was accepted. '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Retrieves information for a specific transfer. tags: - Transfers @@ -1938,190 +390,23 @@ paths: notification for transfer being fulfiled when the FSP is a Payee. operationId: BackendTransfersPut parameters: - - in: path - name: transferId - required: true - schema: *ref_28 + - $ref: '#/components/parameters/transferId' requestBody: content: application/json: schema: - description: PUT /transfers/{transferId} object. - properties: &ref_61 - currentState: - enum: &ref_84 - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED - type: string - direction: - enum: - - INBOUND - type: string - finalNotification: - properties: - completedTimestamp: - description: An ISO-8601 formatted timestamp. - example: '2020-05-19T08:38:08.699-04:00' - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - extensionList: - description: Optional extension, specific to deployment. - items: *ref_12 - maxItems: 16 - minItems: 0 - type: array - transferState: - description: > - Below are the allowed values for the enumeration - - RECEIVED DFSP has received the transfer. - RESERVED DFSP - has reserved the transfer. - COMMITTED DFSP has - successfully performed the transfer. - ABORTED DFSP has - aborted the transfer due a rejection or failure to - perform the transfer. - example: COMMITTED - enum: *ref_27 - type: string - required: - - completedTimestamp - - transferState - type: object - fulfil: - properties: - body: - type: object - headers: - type: object - type: object - initiatedTimestamp: - description: An ISO-8601 formatted timestamp. - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - type: string - lastError: - description: >- - This object represents a Mojaloop API error received at any - time during the transfer process. - properties: &ref_79 - httpStatusCode: - description: >- - The HTTP status code returned to the caller. This is the - same as the actual HTTP status code returned with the - response. - type: integer - mojaloopError: - description: >- - If a transfer process results in an error callback - during the asynchronous Mojaloop API exchange, this - property will contain the underlying Mojaloop API error - object. - properties: &ref_64 - errorInformation: - description: A Mojaloop API error information construct. - properties: &ref_57 - errorCode: - description: > - The API data type errorCode is a JSON String of - four characters, consisting of digits only. - Negative numbers are not allowed. A leading zero - is not allowed. Each error code in the API is a - four-digit number, for example, 1234, where the - first number (1 in the example) represents the - high-level error category, the second number (2 - in the example) represents the low-level error - category, and the last two numbers (34 in the - example) represents the specific error. - pattern: ^[1-9]\d{3}$ - title: ErrorCode - type: string - errorDescription: - description: Error description string. - maxLength: 128 - minLength: 1 - title: ErrorDescription - type: string - extensionList: - description: Data model for the complex type ExtensionList. - properties: &ref_59 - extension: - description: Number of Extension elements. - items: - properties: *ref_29 - type: object - maxItems: 16 - minItems: 1 - type: array - required: &ref_60 - - extension - type: object - required: &ref_58 - - errorCode - - errorDescription - title: ErrorInformation - type: object - type: object - type: object - prepare: - properties: - body: - type: object - headers: - type: object - type: object - quote: - properties: - fulfilment: - type: string - internalRequest: - type: object - mojaloopResponse: - type: object - request: - type: object - response: - type: object - type: object - quoteRequest: - properties: - body: - type: object - headers: - type: object - type: object - quoteResponse: - properties: - body: - type: object - headers: - type: object - type: object - transferId: - description: A Mojaloop API transfer identifier (UUID). - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - type: string - title: TransfersIDPatchResponse - type: object + $ref: '#/components/schemas/fulfilNotification' description: An incoming notification for fulfiled transfer. responses: '200': description: The notification was accepted. '500': - content: *ref_7 - description: An error occurred processing the request. + $ref: '#/components/responses/500' summary: Receive notification for a specific transfer. tags: - Transfers components: parameters: - bulkTransactionId: - description: Identifier of the bulk transaction to continue as returned in. - in: path - name: bulkTransactionId - required: true - schema: *ref_30 idSubValue: description: >- A sub-identifier of the party identifier, or a sub-type of the party @@ -2129,292 +414,254 @@ components: in: path name: idSubValue required: true - schema: *ref_18 + schema: + type: string idType: description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. in: path name: idType required: true - schema: *ref_16 + schema: + type: string idValue: description: The identifier value. in: path name: idValue required: true - schema: *ref_13 + schema: + type: string requestToPayId: in: path name: requestToPayId required: true - schema: *ref_31 + schema: + maxLength: 128 + minLength: 1 + type: string transferId: in: path name: transferId required: true - schema: *ref_28 + schema: + type: string + bulkTransactionId: + name: bulkTransactionId + in: path + required: true + schema: + $ref: '#/components/schemas/CorrelationId' + description: >- + Identifier of the bulk transaction to continue as returned in the + response to a `POST /bulkTransaction` request. responses: '400': - content: *ref_6 + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' description: Malformed or missing required headers or parameters. '404': description: >- The party specified by the provided identifier type and value is not known to the server. '500': - content: *ref_7 + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' description: An error occurred processing the request. schemas: DateOfBirth: - description: Date of Birth of the Party. - example: '1966-06-16' - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ title: DateofBirth (type Date) type: string - Extension: - description: Data model for the complex type Extension - properties: *ref_32 - required: *ref_33 - title: Extension - type: object - ExtensionKey: - description: Extension key. - maxLength: 32 - minLength: 1 - title: ExtensionKey + pattern: >- + ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ + description: Date of Birth of the Party. + example: '1966-06-16' + FirstName: + title: FirstName type: string - ExtensionList: - description: Data model for the complex type ExtensionList - properties: *ref_34 - required: *ref_35 - title: ExtensionList - type: object - ExtensionValue: - description: Extension value. - maxLength: 128 minLength: 1 - title: ExtensionValue - type: string - FirstName: - description: First name of the Party (Name Type). - example: Henrik maxLength: 128 - minLength: 1 pattern: >- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$ - title: FirstName - type: string + description: First name of the Party (Name Type). + example: Henrik FspId: - description: FSP identifier. - maxLength: 32 - minLength: 1 title: FspId type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. IndividualQuote: description: Data model for individual quote in a bulk quote request. - properties: *ref_36 - required: *ref_37 + properties: + amount: + $ref: '#/components/schemas/money' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + description: An optional note associated with the quote. + maxLength: 128 + minLength: 1 + type: string + quoteId: + $ref: '#/components/schemas/quoteId' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + to: + $ref: '#/components/schemas/transferParty' + transactionId: + $ref: '#/components/schemas/transactionId' + transactionType: + $ref: '#/components/schemas/transactionType' + required: + - quoteId + - transactionId + - to + - amountType + - amount + - currency + - transactionType + - initiator + - initiatorType type: object IndividualQuoteResultFailed: description: Data model for failed individual quote in a bulk quote response. - properties: *ref_38 - required: *ref_39 + properties: + errorResponse: + $ref: '#/components/schemas/errorResponse' + quoteId: + $ref: '#/components/schemas/quoteId' + required: + - quoteId + - errorResponse type: object IndividualQuoteResultSuccess: description: Data model for successful individual quote in a bulk quote response. - properties: *ref_40 - required: *ref_41 + properties: + payeeFspCommissionAmount: + $ref: '#/components/schemas/money' + payeeFspCommissionAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspFeeAmount: + $ref: '#/components/schemas/money' + payeeFspFeeAmountCurrency: + $ref: '#/components/schemas/currency' + payeeReceiveAmount: + $ref: '#/components/schemas/money' + payeeReceiveAmountCurrency: + $ref: '#/components/schemas/currency' + quoteId: + $ref: '#/components/schemas/quoteId' + transferAmount: + $ref: '#/components/schemas/money' + transferAmountCurrency: + $ref: '#/components/schemas/currency' + required: + - quoteId type: object IndividualTransfer: description: Data model for individual transfer in a bulk transfer request. - properties: *ref_42 - required: *ref_43 + properties: + amount: + $ref: '#/components/schemas/money' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + description: An optional note associated with the quote. + maxLength: 128 + minLength: 1 + type: string + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + to: + $ref: '#/components/schemas/transferParty' + transactionType: + $ref: '#/components/schemas/transactionType' + transferId: + $ref: '#/components/schemas/transferId' + required: + - transferId + - amount + - currency type: object IndividualTransferResult: description: Data model for individual transfer in a bulk transfer response. - properties: *ref_44 - required: *ref_45 + properties: + errorResponse: + $ref: '#/components/schemas/errorResponse' + extensionList: + $ref: '#/components/schemas/extensionList' + transferId: + $ref: '#/components/schemas/transferId' + required: + - transferId type: object LastName: - description: Last name of the Party (Name Type). - example: Karlsson - maxLength: 128 + title: LastName + type: string minLength: 1 + maxLength: 128 pattern: >- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$ - title: LastName - type: string + description: Last name of the Party (Name Type). + example: Karlsson MerchantClassificationCode: + title: MerchantClassificationCode + type: string + pattern: ^[\d]{1,4}$ description: >- A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - pattern: ^[\d]{1,4}$ - title: MerchantClassificationCode - type: string MiddleName: - description: Middle name of the Party (Name Type). - example: Johannes - maxLength: 128 - minLength: 1 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ title: MiddleName type: string - Party: - description: Data model for the complex type Party. - properties: *ref_23 - required: *ref_24 - title: Party - type: object - PartyComplexName: - description: Data model for the complex type PartyComplexName. - properties: *ref_46 - title: PartyComplexName - type: object - PartyIdInfo: - description: Data model for the complex type PartyIdInfo. - properties: *ref_47 - required: *ref_48 - title: PartyIdInfo - type: object - PartyIdType: - description: > - This is a variant based on FSPIOP `PartyIdType` specification. - - Main difference being the CONSENT and THIRD_PARTY_LINK enums. - - - Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - - Number, that is, the phone number) is used as reference to a - participant. - - The MSISDN identifier should be in international format according to the - - [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - - Optionally, the MSISDN may be prefixed by a single plus sign, indicating - the - - international prefix. - - - EMAIL - An email is used as reference to a - - participant. The format of the email should be according to the - informational - - [RFC 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as reference to a - participant. - - Examples of personal identification are passport number, birth - certificate - - number, and national registration number. The identifier number is added - in - - the PartyIdentifier element. The personal identifier type is added in - the - - PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an organization or a - company) - - is used as reference to a participant. The BUSINESS identifier can be in - any - - format. To make a transaction connected to a specific username or bill - number - - in a Business, the PartySubIdOrType element should be used. - - - DEVICE - A specific device (for example, a POS or ATM) ID connected to - a - - specific business or organization is used as reference to a Party. - - For referencing a specific device under a specific business or - organization, - - use the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP account ID should be used as - - reference to a participant. The ACCOUNT_ID identifier can be in any - format, - - as formats can greatly differ depending on country and FSP. - - - IBAN - A bank account number or FSP account ID is used as reference to - a - - participant. The IBAN identifier can consist of up to 34 alphanumeric - - characters and should be entered without whitespace. - - - ALIAS An alias is used as reference to a participant. The alias should - be - - created in the FSP as an alternative reference to an account owner. - - Another example of an alias is a username in the FSP system. - - The ALIAS identifier can be in any format. It is also possible to use - the - - PartySubIdOrType element for identifying an account under an Alias - defined - - by the PartyIdentifier. - - - CONSENT - TBD - - - THIRD_PARTY_LINK - TBD - enum: *ref_49 - example: PERSONAL_ID - title: PartyIdType - type: string - PartyIdentifier: - description: Identifier of the Party. - example: '16135551212' - maxLength: 128 minLength: 1 - title: PartyIdentifier - type: string - PartyName: - description: Name of the Party. Could be a real name or a nickname. maxLength: 128 - minLength: 1 - title: PartyName - type: string - PartyPersonalInfo: - description: Data model for the complex type PartyPersonalInfo. - properties: *ref_50 - title: PartyPersonalInfo - type: object - PartySubIdOrType: - description: >- - Either a sub-identifier of a PartyIdentifier, or a sub-type of the - PartyIdType, normally a PersonalIdentifierType. - maxLength: 128 - minLength: 1 - title: PartySubIdOrType - type: string + pattern: >- + ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} + .,''-]{1,128}$ + description: Middle name of the Party (Name Type). + example: Johannes amountCurrency: description: Object containing Amount and Currency of the transfer. - properties: *ref_51 - required: *ref_52 + properties: + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + required: + - amount + - currency type: object amountType: - enum: *ref_8 + enum: + - SEND + - RECEIVE type: string bulkQuoteId: description: A Mojaloop API bulk quote identifier (UUID). @@ -2423,13 +670,47 @@ components: type: string bulkQuoteRequest: description: A request for a bulk quote. - properties: *ref_53 - required: *ref_54 + properties: + bulkQuoteId: + $ref: '#/components/schemas/bulkQuoteId' + expiration: + $ref: '#/components/schemas/timestamp' + from: + $ref: '#/components/schemas/transferParty' + geoCode: + $ref: '#/components/schemas/geoCode' + individualQuotes: + items: + $ref: '#/components/schemas/IndividualQuote' + maxItems: 1000 + minItems: 1 + type: array + required: + - bulkQuoteId + - from + - individualQuotes type: object bulkQuoteResponse: description: A response to a request for a bulk quote. - properties: *ref_4 - required: *ref_5 + properties: + bulkQuoteId: + $ref: '#/components/schemas/bulkQuoteId' + expiration: + $ref: '#/components/schemas/timestamp' + individualQuoteResults: + description: >- + Fees for each individual transaction, if any of them are charged per + transaction. + items: + oneOf: + - $ref: '#/components/schemas/IndividualQuoteResultSuccess' + - $ref: '#/components/schemas/IndividualQuoteResultFailed' + maxItems: 1000 + minItems: 1 + type: array + required: + - bulkQuoteId + - individualQuoteResults type: object bulkTransferId: description: A Mojaloop API transfer identifier (UUID). @@ -2437,15 +718,207 @@ components: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ type: string bulkTransferRequest: - properties: *ref_55 - required: *ref_56 + properties: + bulkQuote: + $ref: '#/components/schemas/bulkQuoteResponse' + bulkTransferId: + $ref: '#/components/schemas/bulkTransferId' + from: + $ref: '#/components/schemas/transferParty' + individualTransfers: + items: + $ref: '#/components/schemas/IndividualTransfer' + maxItems: 1000 + minItems: 1 + type: array + required: + - bulkTransferId + - individualTransfers type: object bulkTransferResponse: - properties: *ref_14 - required: *ref_15 + properties: + bulkTransferId: + $ref: '#/components/schemas/bulkTransferId' + homeTransactionId: + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the switch and DFSP backend systems. + type: string + individualTransferResults: + items: + $ref: '#/components/schemas/IndividualTransferResult' + maxItems: 1000 + minItems: 1 + type: array + required: + - homeTransactionId type: object currency: - enum: *ref_0 + enum: + - AED + - AFN + - ALL + - AMD + - ANG + - AOA + - ARS + - AUD + - AWG + - AZN + - BAM + - BBD + - BDT + - BGN + - BHD + - BIF + - BMD + - BND + - BOB + - BRL + - BSD + - BTN + - BWP + - BYN + - BZD + - CAD + - CDF + - CHF + - CLP + - CNY + - COP + - CRC + - CUC + - CUP + - CVE + - CZK + - DJF + - DKK + - DOP + - DZD + - EGP + - ERN + - ETB + - EUR + - FJD + - FKP + - GBP + - GEL + - GGP + - GHS + - GIP + - GMD + - GNF + - GTQ + - GYD + - HKD + - HNL + - HRK + - HTG + - HUF + - IDR + - ILS + - IMP + - INR + - IQD + - IRR + - ISK + - JEP + - JMD + - JOD + - JPY + - KES + - KGS + - KHR + - KMF + - KPW + - KRW + - KWD + - KYD + - KZT + - LAK + - LBP + - LKR + - LRD + - LSL + - LYD + - MAD + - MDL + - MGA + - MKD + - MMK + - MNT + - MOP + - MRO + - MUR + - MVR + - MWK + - MXN + - MYR + - MZN + - NAD + - NGN + - NIO + - NOK + - NPR + - NZD + - OMR + - PAB + - PEN + - PGK + - PHP + - PKR + - PLN + - PYG + - QAR + - RON + - RSD + - RUB + - RWF + - SAR + - SBD + - SCR + - SDG + - SEK + - SGD + - SHP + - SLL + - SOS + - SPL + - SRD + - STD + - SVC + - SYP + - SZL + - THB + - TJS + - TMT + - TND + - TOP + - TRY + - TTD + - TVD + - TWD + - TZS + - UAH + - UGX + - USD + - UYU + - UZS + - VEF + - VND + - VUV + - WST + - XAF + - XCD + - XDR + - XOF + - XPF + - XTS + - XXX + - YER + - ZAR + - ZMW + - ZWD maxLength: 3 minLength: 3 type: string @@ -2474,25 +947,62 @@ components: type: string errorInformation: description: A Mojaloop API error information construct. - properties: *ref_57 - required: *ref_58 + properties: + errorCode: + $ref: '#/components/schemas/errorCode' + errorDescription: + $ref: '#/components/schemas/errorDescription' + extensionList: + $ref: '#/components/schemas/extensionListComplex' + required: + - errorCode + - errorDescription title: ErrorInformation type: object errorResponse: - properties: *ref_3 + properties: + message: + description: Error message text + type: string + statusCode: + description: > + Backend error code from FSP. Ideally, statusCode is FSPIOP + conforming. SDK will use status code to retrieve an FSPIOP error + with the same code. + + Otherwise, a suitable generic FSPIOP will be used with the + errorResponse in the FSPIOP error message. + type: string type: object extensionItem: - properties: *ref_29 + properties: + key: + maxLength: 32 + minLength: 1 + type: string + value: + maxLength: 128 + minLength: 1 + type: string type: object extensionList: - items: *ref_12 + items: + $ref: '#/components/schemas/extensionItem' maxItems: 16 minItems: 0 type: array extensionListComplex: description: Data model for the complex type ExtensionList. - properties: *ref_59 - required: *ref_60 + properties: + extension: + description: Number of Extension elements. + items: + $ref: '#/components/schemas/extensionItem' + maxItems: 16 + minItems: 1 + type: array + required: + - extension type: object fspId: description: FSP identifier. @@ -2501,7 +1011,72 @@ components: type: string fulfilNotification: description: PUT /transfers/{transferId} object. - properties: *ref_61 + properties: + currentState: + $ref: '#/components/schemas/transferStatus' + direction: + enum: + - INBOUND + type: string + finalNotification: + properties: + completedTimestamp: + $ref: '#/components/schemas/timestamp' + extensionList: + $ref: '#/components/schemas/extensionList' + transferState: + $ref: '#/components/schemas/transferState' + required: + - completedTimestamp + - transferState + type: object + fulfil: + properties: + body: + type: object + headers: + type: object + type: object + initiatedTimestamp: + $ref: '#/components/schemas/timestamp' + lastError: + $ref: '#/components/schemas/transferError' + prepare: + properties: + body: + type: object + headers: + type: object + type: object + quote: + properties: + fulfilment: + type: string + internalRequest: + type: object + mojaloopResponse: + type: object + request: + type: object + response: + type: object + type: object + quoteRequest: + properties: + body: + type: object + headers: + type: object + type: object + quoteResponse: + properties: + body: + type: object + headers: + type: object + type: object + transferId: + $ref: '#/components/schemas/transferId' title: TransfersIDPatchResponse type: object generalError: @@ -2513,38 +1088,70 @@ components: description: >- Indicates the geographic location from where the transaction was initiated. - properties: *ref_19 - required: *ref_20 + properties: + latitude: + $ref: '#/components/schemas/latitude' + longitude: + $ref: '#/components/schemas/longitude' + required: + - latitude + - longitude type: object idSubValue: maxLength: 128 minLength: 1 type: string idType: - enum: *ref_21 + enum: + - MSISDN + - ACCOUNT_NO + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS type: string idValue: description: Identifier of the party. maxLength: 128 minLength: 1 type: string - ilpFulfilment: - description: Fulfilment that must be attached to the transfer by the Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - maxLength: 48 - pattern: ^[A-Za-z0-9-_]{43}$ - title: ilpFulfilment - type: string ilpPacketData: description: Object containing transfer object. - properties: *ref_62 - required: *ref_63 + properties: + amount: + $ref: '#/components/schemas/amountCurrency' + payee: + $ref: '#/components/schemas/Party' + payer: + $ref: '#/components/schemas/Party' + quoteId: + $ref: '#/components/schemas/quoteId' + transactionId: + $ref: '#/components/schemas/transactionId' + transactionType: + $ref: '#/components/schemas/transactionTypeObject' + required: + - quoteId + - transactionId + - payer + - payee + - amount + - transactionType type: object initiator: - enum: *ref_9 + enum: + - PAYER + - PAYEE type: string initiatorType: - enum: *ref_10 + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE type: string latitude: description: >- @@ -2560,21 +1167,28 @@ components: pattern: >- ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ type: string - mojaloopError: - properties: *ref_64 - type: object money: pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string otpDetails: - properties: *ref_65 - required: *ref_66 + properties: + otpValue: + description: OTP value. + type: string + required: + - otpValue type: object participantsResponse: - properties: *ref_17 + properties: + fspId: + $ref: '#/components/schemas/fspId' type: object payerType: - enum: *ref_22 + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE type: string quoteId: description: A Mojaloop API quote identifier (UUID). @@ -2583,16 +1197,94 @@ components: type: string quoteRequest: description: A request for a quote for transfer from the DFSP backend. - properties: *ref_67 - required: *ref_68 + properties: + amount: + $ref: '#/components/schemas/money' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + expiration: + $ref: '#/components/schemas/timestamp' + extensionList: + $ref: '#/components/schemas/extensionList' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + from: + $ref: '#/components/schemas/transferParty' + geoCode: + $ref: '#/components/schemas/geoCode' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + description: An optional note associated with the requested transfer. + maxLength: 128 + minLength: 1 + type: string + quoteId: + $ref: '#/components/schemas/quoteId' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + to: + $ref: '#/components/schemas/transferParty' + transactionId: + $ref: '#/components/schemas/transactionId' + transactionType: + $ref: '#/components/schemas/transactionType' + required: + - quoteId + - transactionId + - to + - from + - amountType + - amount + - currency + - transactionType + - initiator + - initiatorType type: object quoteResponse: description: A response to a request for a quote. - properties: *ref_25 - required: *ref_26 + properties: + expiration: + $ref: '#/components/schemas/timestamp' + extensionList: + $ref: '#/components/schemas/extensionList' + geoCode: + $ref: '#/components/schemas/geoCode' + payeeFspCommissionAmount: + $ref: '#/components/schemas/money' + payeeFspCommissionAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspFeeAmount: + $ref: '#/components/schemas/money' + payeeFspFeeAmountCurrency: + $ref: '#/components/schemas/currency' + payeeReceiveAmount: + $ref: '#/components/schemas/money' + payeeReceiveAmountCurrency: + $ref: '#/components/schemas/currency' + quoteId: + $ref: '#/components/schemas/quoteId' + transactionId: + $ref: '#/components/schemas/transactionId' + transferAmount: + $ref: '#/components/schemas/money' + transferAmountCurrency: + $ref: '#/components/schemas/currency' + required: + - quoteId + - transactionId + - transferAmount + - transferAmountCurrency type: object scenario: - enum: *ref_69 + enum: + - TRANSFER type: string timestamp: description: An ISO-8601 formatted timestamp. @@ -2608,8 +1300,43 @@ components: type: string transactionRequest: description: A request for a pull based transfer. - properties: *ref_70 - required: *ref_71 + properties: + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + expiration: + $ref: '#/components/schemas/timestamp' + from: + $ref: '#/components/schemas/transferParty' + geoCode: + $ref: '#/components/schemas/geoCode' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + description: An optional note associated with the requested transfer. + maxLength: 128 + minLength: 1 + type: string + to: + $ref: '#/components/schemas/transferParty' + transactionRequestId: + $ref: '#/components/schemas/transactionRequestId' + transactionType: + $ref: '#/components/schemas/transactionType' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + required: + - transactionRequestId + - to + - from + - amount + - currency + - transactionType + - initiator + - initiatorType type: object transactionRequestId: description: A Mojaloop API transaction request identifier (UUID). @@ -2618,29 +1345,92 @@ components: type: string transactionRequestResponse: description: A response to a request for a quote. - properties: *ref_72 - required: *ref_73 + properties: + transactionId: + $ref: '#/components/schemas/transactionId' + transferAmount: + $ref: '#/components/schemas/transactionRequestState' + required: + - transactionId + - transactionRequestState type: object transactionRequestState: - enum: *ref_74 + enum: + - RECEIVED + - PENDING + - ACCEPTED + - REJECTED + type: string + transactionSubScenario: + description: >- + Possible sub-scenario, defined locally within the scheme (UndefinedEnum + Type). Based on FSPIOP TransactionSubScenario. + example: LOCALLY_DEFINED_SUBSCENARIO + pattern: ^[A-Z_]{1,32}$ + title: transactionSubScenario type: string transactionType: - enum: *ref_11 + enum: + - TRANSFER + - DEPOSIT + - PAYMENT type: string transactionTypeObject: description: Object containing transfer object. - properties: *ref_75 - required: *ref_76 + properties: + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + scenario: + $ref: '#/components/schemas/scenario' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + required: + - scenario + - initiator + - initiatorType type: object transferDetailsResponse: - properties: *ref_77 - required: *ref_78 - type: object - transferError: - description: >- - This object represents a Mojaloop API error received at any time during - the transfer process. - properties: *ref_79 + properties: + amount: + $ref: '#/components/schemas/money' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + extensions: + $ref: '#/components/schemas/extensionList' + from: + $ref: '#/components/schemas/transferParty' + homeTransactionId: + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + type: string + note: + maxLength: 128 + type: string + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + timestamp: + $ref: '#/components/schemas/timestamp' + to: + $ref: '#/components/schemas/transferParty' + transactionType: + $ref: '#/components/schemas/transactionType' + transferState: + $ref: '#/components/schemas/transferState' + required: + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - transferState + - transactionType + - timestamp type: object transferId: description: A Mojaloop API transfer identifier (UUID). @@ -2648,16 +1438,102 @@ components: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ type: string transferParty: - properties: *ref_1 - required: *ref_2 + properties: + dateOfBirth: + $ref: '#/components/schemas/dateOfBirth' + displayName: + description: Display name of the sender, if known. + type: string + extensionList: + $ref: '#/components/schemas/extensionList' + firstName: + description: Party first name. + type: string + fspId: + description: Mojaloop scheme FSPID of the DFSP which owns the party account. + type: string + idSubValue: + $ref: '#/components/schemas/idSubValue' + idType: + $ref: '#/components/schemas/idType' + idValue: + description: The identifier string used to identify the sender. + type: string + lastName: + description: Party last name. + type: string + merchantClassificationCode: + description: >- + Up to 4 digits specifying the sender's merchant classification, if + known and applicable. + type: string + middleName: + description: Party middle name. + type: string + type: + $ref: '#/components/schemas/payerType' + required: + - idType + - idValue type: object transferRequest: - properties: *ref_80 - required: *ref_81 + properties: + amount: + $ref: '#/components/schemas/money' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + from: + $ref: '#/components/schemas/transferParty' + ilpPacket: + properties: + data: + $ref: '#/components/schemas/ilpPacketData' + required: + - data + type: object + note: + maxLength: 128 + type: string + quote: + $ref: '#/components/schemas/quoteResponse' + quoteRequestExtensions: + $ref: '#/components/schemas/extensionList' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + to: + $ref: '#/components/schemas/transferParty' + transactionType: + $ref: '#/components/schemas/transactionType' + transferId: + $ref: '#/components/schemas/transferId' + required: + - transferId + - quote + - from + - to + - amountType + - currency + - amount + - transactionType + - ilpPacket type: object transferResponse: - properties: *ref_82 - required: *ref_83 + properties: + completedTimestamp: + $ref: '#/components/schemas/timestamp' + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + homeTransactionId: + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + type: string + transferState: + $ref: '#/components/schemas/transferState' + required: + - homeTransactionId type: object transferState: description: > @@ -2666,8 +1542,771 @@ components: COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - enum: *ref_27 + enum: + - RECEIVED + - RESERVED + - COMMITTED + - ABORTED type: string transferStatus: - enum: *ref_84 + enum: + - ERROR_OCCURRED + - WAITING_FOR_PARTY_ACCEPTANCE + - WAITING_FOR_QUOTE_ACCEPTANCE + - COMPLETED + type: string + TransactionSubScenario: + title: TransactionSubScenario + type: string + pattern: ^[A-Z_]{1,32}$ + description: >- + Possible sub-scenario, defined locally within the scheme (UndefinedEnum + Type). + example: LOCALLY_DEFINED_SUBSCENARIO + CorrelationId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The API + data type UUID (Universally Unique Identifier) is a JSON String in + canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a + regular expression for interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + bulkTransactionStatus: + type: string + enum: + - ERROR_OCCURRED + - WAITING_FOR_PARTY_ACCEPTANCE + - WAITING_FOR_QUOTE_ACCEPTANCE + - COMPLETED + autoAcceptPartyOption: + type: object + required: + - enabled + properties: + enabled: + type: boolean + enum: + - false + - true + Currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter + alphabetic codes are used as the standard naming representation for + currencies. + type: string + minLength: 3 + maxLength: 3 + enum: + - AED + - AFN + - ALL + - AMD + - ANG + - AOA + - ARS + - AUD + - AWG + - AZN + - BAM + - BBD + - BDT + - BGN + - BHD + - BIF + - BMD + - BND + - BOB + - BRL + - BSD + - BTN + - BWP + - BYN + - BZD + - CAD + - CDF + - CHF + - CLP + - CNY + - COP + - CRC + - CUC + - CUP + - CVE + - CZK + - DJF + - DKK + - DOP + - DZD + - EGP + - ERN + - ETB + - EUR + - FJD + - FKP + - GBP + - GEL + - GGP + - GHS + - GIP + - GMD + - GNF + - GTQ + - GYD + - HKD + - HNL + - HRK + - HTG + - HUF + - IDR + - ILS + - IMP + - INR + - IQD + - IRR + - ISK + - JEP + - JMD + - JOD + - JPY + - KES + - KGS + - KHR + - KMF + - KPW + - KRW + - KWD + - KYD + - KZT + - LAK + - LBP + - LKR + - LRD + - LSL + - LYD + - MAD + - MDL + - MGA + - MKD + - MMK + - MNT + - MOP + - MRO + - MUR + - MVR + - MWK + - MXN + - MYR + - MZN + - NAD + - NGN + - NIO + - NOK + - NPR + - NZD + - OMR + - PAB + - PEN + - PGK + - PHP + - PKR + - PLN + - PYG + - QAR + - RON + - RSD + - RUB + - RWF + - SAR + - SBD + - SCR + - SDG + - SEK + - SGD + - SHP + - SLL + - SOS + - SPL + - SRD + - STD + - SVC + - SYP + - SZL + - THB + - TJS + - TMT + - TND + - TOP + - TRY + - TTD + - TVD + - TWD + - TZS + - UAH + - UGX + - USD + - UYU + - UZS + - VEF + - VND + - VUV + - WST + - XAF + - XCD + - XDR + - XOF + - XPF + - XTS + - XXX + - YER + - ZAR + - ZMW + - ZWD + Amount: + title: Amount + type: string + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + description: >- + The API data type Amount is a JSON String in a canonical format that is + restricted by a regular expression for interoperability reasons. This + pattern does not allow any trailing zeroes at all, but allows an amount + without a minor currency unit. It also only allows four digits in the + minor currency unit; a negative value is not allowed. Using more than 18 + digits in the major currency unit is not allowed. + example: '123.45' + bulkPerTransferFeeLimit: + type: object + required: + - currency + - amount + properties: + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + autoAcceptQuote: + type: object + required: + - enabled + properties: + enabled: + type: boolean + enum: + - true + - false + perTransferFeeLimits: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/bulkPerTransferFeeLimit' + DateTime: + title: DateTime + type: string + pattern: >- + ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ + description: >- + The API data type DateTime is a JSON String in a lexical format that is + restricted by a regular expression for interoperability reasons. The + format is according to [ISO + 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed + in a combined date, time and time zone format. A more readable version + of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are + "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z + indicates Zulu time zone, same as UTC). + example: '2016-05-24T08:38:08.699-04:00' + bulkTransactionOptions: + type: object + required: + - autoAcceptParty + - autoAcceptQuote + - bulkExpiration + properties: + onlyValidateParty: + description: >- + Set to true if only party validation is required. This means the + quotes and transfers will not run. This is useful for only party + resolution. + type: boolean + autoAcceptParty: + $ref: '#/components/schemas/autoAcceptPartyOption' + autoAcceptQuote: + description: >- + Set to true if the quote response is accepted without confirmation + from the payer. The fees applied by the payee will be acceptable to + the payer abiding by the limits set by optional + 'perTransferFeeLimits' array. + type: object + oneOf: + - $ref: '#/components/schemas/autoAcceptQuote' + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and no party + resolution is needed. This may be useful if a previous party + resolution has been performed. + type: boolean + synchronous: + description: >- + Set to true if the bulkTransfer requests need be handled + synchronous. Otherwise the requests will be handled asynchronously, + meaning there will be callbacks whenever the processing is done + type: boolean + bulkExpiration: + $ref: '#/components/schemas/DateTime' + PartyIdType: + title: PartyIdType + type: string + enum: + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + description: >- + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + Number, that is, the phone number) is used as reference to a + participant. The MSISDN identifier should be in international format + according to the [ITU-T E.164 + standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the + MSISDN may be prefixed by a single plus sign, indicating the + international prefix. + + - EMAIL - An email is used as reference to a participant. The format of + the email should be according to the informational [RFC + 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as reference to a + participant. Examples of personal identification are passport number, + birth certificate number, and national registration number. The + identifier number is added in the PartyIdentifier element. The personal + identifier type is added in the PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an organization or a + company) is used as reference to a participant. The BUSINESS identifier + can be in any format. To make a transaction connected to a specific + username or bill number in a Business, the PartySubIdOrType element + should be used. + + - DEVICE - A specific device (for example, a POS or ATM) ID connected to + a specific business or organization is used as reference to a Party. For + referencing a specific device under a specific business or organization, + use the PartySubIdOrType element. + + - ACCOUNT_ID - A bank account number or FSP account ID should be used as + reference to a participant. The ACCOUNT_ID identifier can be in any + format, as formats can greatly differ depending on country and FSP. + + - IBAN - A bank account number or FSP account ID is used as reference to + a participant. The IBAN identifier can consist of up to 34 alphanumeric + characters and should be entered without whitespace. + + - ALIAS An alias is used as reference to a participant. The alias should + be created in the FSP as an alternative reference to an account owner. + Another example of an alias is a username in the FSP system. The ALIAS + identifier can be in any format. It is also possible to use the + PartySubIdOrType element for identifying an account under an Alias + defined by the PartyIdentifier. + PartyIdentifier: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + example: '16135551212' + PartySubIdOrType: + title: PartySubIdOrType + type: string + minLength: 1 + maxLength: 128 + description: >- + Either a sub-identifier of a PartyIdentifier, or a sub-type of the + PartyIdType, normally a PersonalIdentifierType. + ExtensionKey: + title: ExtensionKey + type: string + minLength: 1 + maxLength: 32 + description: Extension key. + ExtensionValue: + title: ExtensionValue + type: string + minLength: 1 + maxLength: 128 + description: Extension value. + Extension: + title: Extension + type: object + description: Data model for the complex type Extension. + properties: + key: + $ref: '#/components/schemas/ExtensionKey' + value: + $ref: '#/components/schemas/ExtensionValue' + required: + - key + - value + ExtensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional list of + extensions, specific to deployment. + properties: + extension: + type: array + items: + $ref: '#/components/schemas/Extension' + minItems: 1 + maxItems: 16 + description: Number of Extension elements. + required: + - extension + PartyIdInfo: + title: PartyIdInfo + type: object + description: >- + Data model for the complex type PartyIdInfo. An ExtensionList element + has been added to this reqeust in version v1.1 + properties: + partyIdType: + $ref: '#/components/schemas/PartyIdType' + partyIdentifier: + $ref: '#/components/schemas/PartyIdentifier' + partySubIdOrType: + $ref: '#/components/schemas/PartySubIdOrType' + fspId: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - partyIdType + - partyIdentifier + PartyName: + title: PartyName + type: string + minLength: 1 + maxLength: 128 + description: Name of the Party. Could be a real name or a nickname. + PartyComplexName: + title: PartyComplexName + type: object + description: Data model for the complex type PartyComplexName. + properties: + firstName: + $ref: '#/components/schemas/FirstName' + middleName: + $ref: '#/components/schemas/MiddleName' + lastName: + $ref: '#/components/schemas/LastName' + PartyPersonalInfo: + title: PartyPersonalInfo + type: object + description: Data model for the complex type PartyPersonalInfo. + properties: + complexName: + $ref: '#/components/schemas/PartyComplexName' + dateOfBirth: + $ref: '#/components/schemas/DateOfBirth' + Party: + title: Party + type: object + description: Data model for the complex type Party. + properties: + partyIdInfo: + $ref: '#/components/schemas/PartyIdInfo' + merchantClassificationCode: + $ref: '#/components/schemas/MerchantClassificationCode' + name: + $ref: '#/components/schemas/PartyName' + personalInfo: + $ref: '#/components/schemas/PartyPersonalInfo' + required: + - partyIdInfo + AmountType: + title: AmountType + type: string + enum: + - SEND + - RECEIVE + description: >- + Below are the allowed values for the enumeration AmountType. + + - SEND - Amount the Payer would like to send, that is, the amount that + should be withdrawn from the Payer account including any fees. + + - RECEIVE - Amount the Payer would like the Payee to receive, that is, + the amount that should be sent to the receiver exclusive of any fees. + example: RECEIVE + Note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + example: Note sent to Payee. + Money: + title: Money + type: object + description: Data model for the complex type Money. + properties: + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + required: + - currency + - amount + Latitude: + title: Latitude + type: string + pattern: >- + ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ + description: >- + The API data type Latitude is a JSON String in a lexical format that is + restricted by a regular expression for interoperability reasons. + example: '+45.4215' + Longitude: + title: Longitude type: string + pattern: >- + ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ + description: >- + The API data type Longitude is a JSON String in a lexical format that is + restricted by a regular expression for interoperability reasons. + example: '+75.6972' + GeoCode: + title: GeoCode + type: object + description: >- + Data model for the complex type GeoCode. Indicates the geographic + location from where the transaction was initiated. + properties: + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + required: + - latitude + - longitude + IlpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: Information for recipient (transport layer information). + example: >- + AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + IlpCondition: + title: IlpCondition + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: Condition that must be attached to the transfer by the Payer. + QuotesIDPutResponse: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: + transferAmount: + $ref: '#/components/schemas/Money' + payeeReceiveAmount: + $ref: '#/components/schemas/Money' + payeeFspFee: + $ref: '#/components/schemas/Money' + payeeFspCommission: + $ref: '#/components/schemas/Money' + expiration: + $ref: '#/components/schemas/DateTime' + geoCode: + $ref: '#/components/schemas/GeoCode' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferAmount + - expiration + - ilpPacket + - condition + IlpFulfilment: + title: IlpFulfilment + type: string + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: Fulfilment that must be attached to the transfer by the Payee. + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + TransferState: + title: TransferState + type: string + enum: + - RECEIVED + - RESERVED + - COMMITTED + - ABORTED + description: >- + Below are the allowed values for the enumeration. + + - RECEIVED - Next ledger has received the transfer. + + - RESERVED - Next ledger has reserved the transfer. + + - COMMITTED - Next ledger has successfully performed the transfer. + + - ABORTED - Next ledger has aborted the transfer due to a rejection or + failure to perform the transfer. + example: RESERVED + TransfersIDPutResponse: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + completedTimestamp: + $ref: '#/components/schemas/DateTime' + transferState: + $ref: '#/components/schemas/TransferState' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferState + ErrorCode: + title: ErrorCode + type: string + pattern: ^[1-9]\d{3}$ + description: >- + The API data type ErrorCode is a JSON String of four characters, + consisting of digits only. Negative numbers are not allowed. A leading + zero is not allowed. Each error code in the API is a four-digit number, + for example, 1234, where the first number (1 in the example) represents + the high-level error category, the second number (2 in the example) + represents the low-level error category, and the last two numbers (34 in + the example) represent the specific error. + example: '5100' + ErrorDescription: + title: ErrorDescription + type: string + minLength: 1 + maxLength: 128 + description: Error description string. + ErrorInformation: + title: ErrorInformation + type: object + description: Data model for the complex type ErrorInformation. + properties: + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + $ref: '#/components/schemas/ErrorDescription' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - errorCode + - errorDescription + mojaloopError: + type: object + properties: + errorInformation: + $ref: '#/components/schemas/ErrorInformation' + transferError: + type: object + description: >- + This object represents a Mojaloop API error received at any time during + the transfer process + properties: + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the caller. This is the same as the + actual HTTP status code returned with the response. + mojaloopError: + description: >- + If a transfer process results in an error callback during the + asynchronous Mojaloop API exchange, this property will contain the + underlying Mojaloop API error object. + $ref: '#/components/schemas/mojaloopError' + bulkTransactionIndividualTransferResult: + type: object + required: + - homeTransactionId + - transferId + - to + - amountType + - currency + - amount + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + transactionId: + $ref: '#/components/schemas/CorrelationId' + to: + $ref: '#/components/schemas/Party' + reference: + description: Payer Loan reference + type: string + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + note: + $ref: '#/components/schemas/Note' + quoteId: + $ref: '#/components/schemas/CorrelationId' + quoteResponse: + $ref: '#/components/schemas/QuotesIDPutResponse' + fulfil: + $ref: '#/components/schemas/TransfersIDPutResponse' + quoteExtensions: + $ref: '#/components/schemas/ExtensionList' + transferExtensions: + $ref: '#/components/schemas/ExtensionList' + lastError: + $ref: '#/components/schemas/transferError' + bulkTransactionResponse: + title: BulkTransactionResponse + type: object + required: + - bulkHomeTransactionID + - bulkTransactionId + - currentState + - individualTransferResults + properties: + bulkHomeTransactionID: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + bulkTransactionId: + $ref: '#/components/schemas/CorrelationId' + currentState: + $ref: '#/components/schemas/bulkTransactionStatus' + options: + $ref: '#/components/schemas/bulkTransactionOptions' + individualTransferResults: + description: List of individual transfer result in a bulk transfer response. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/bulkTransactionIndividualTransferResult' + extensions: + $ref: '#/components/schemas/ExtensionList' diff --git a/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml b/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml index edb6d69e..a8ae50f9 100644 --- a/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml +++ b/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml @@ -33,1126 +33,83 @@ paths: description: >- Returns empty body if the scheme adapter outbound transfers service is running. - /transfers: + /accounts: post: - summary: Sends money from one account to another - description: > - The HTTP request `POST /transfers` is used to request the movement of - funds from payer DFSP to payee DFSP. - - The underlying Mojaloop API has three stages for money transfer: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to - `"false"` this method will terminate when the payee party has been - resolved and return the payee party details. - If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. - The scheme adapter will then proceed with quotation stage... - - - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` - this method will terminate and return the quotation when it has been - received from the payee DFSP. - If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - If the configuration variables `AUTO_ACCEPT_PARTIES` and - `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block - until all three transfer stages are complete. Upon completion it will - return the entire set of transfer details received during the operation. + summary: Create accounts on the Account Lookup Service + description: >- + The HTTP request `POST /accounts` is used to create account information + on the Account Lookup Service (ALS) regarding the provided list of + identities. - Combinations of settings for `AUTO_ACCEPT...` configuration variables - allow the scheme adapter user to decide which mode of operation best - suits their use cases. i.e. the scheme adapter can be configured to - "break" the three stage transfer at these points in order to execute - backend logic such as party verification, quoted fees assessments etc... + Caller DFSP is used as the account source FSP information tags: - - Transfers + - Accounts requestBody: - description: Transfer request body + description: Identities list request body content: application/json: schema: - type: object - required: &ref_70 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: &ref_71 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - from: - type: object - required: &ref_0 - - idType - - idValue - properties: &ref_1 - type: - title: TransactionInitiatorType - type: string - enum: &ref_52 - - CONSUMER - - AGENT - - BUSINESS - - DEVICE - description: >- - Below are the allowed values for the enumeration. - - - CONSUMER - Consumer is the initiator of the - transaction. - - - AGENT - Agent is the initiator of the transaction. - - - BUSINESS - Business is the initiator of the - transaction. - - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER - idType: - title: PartyIdType - type: string - enum: &ref_23 - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - description: >- - Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International - Subscriber Directory Number, that is, the phone number) - is used as reference to a participant. The MSISDN - identifier should be in international format according - to the [ITU-T E.164 - standard](https://www.itu.int/rec/T-REC-E.164/en). - Optionally, the MSISDN may be prefixed by a single plus - sign, indicating the international prefix. - - - EMAIL - An email is used as reference to a - participant. The format of the email should be according - to the informational [RFC - 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as - reference to a participant. Examples of personal - identification are passport number, birth certificate - number, and national registration number. The identifier - number is added in the PartyIdentifier element. The - personal identifier type is added in the - PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an - organization or a company) is used as reference to a - participant. The BUSINESS identifier can be in any - format. To make a transaction connected to a specific - username or bill number in a Business, the - PartySubIdOrType element should be used. - - - DEVICE - A specific device (for example, a POS or ATM) - ID connected to a specific business or organization is - used as reference to a Party. For referencing a specific - device under a specific business or organization, use - the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP account ID - should be used as reference to a participant. The - ACCOUNT_ID identifier can be in any format, as formats - can greatly differ depending on country and FSP. - - - IBAN - A bank account number or FSP account ID is used - as reference to a participant. The IBAN identifier can - consist of up to 34 alphanumeric characters and should - be entered without whitespace. - - - ALIAS An alias is used as reference to a participant. - The alias should be created in the FSP as an alternative - reference to an account owner. Another example of an - alias is a username in the FSP system. The ALIAS - identifier can be in any format. It is also possible to - use the PartySubIdOrType element for identifying an - account under an Alias defined by the PartyIdentifier. - idValue: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - idSubValue: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a - sub-type of the PartyIdType, normally a - PersonalIdentifierType. - displayName: - title: Name - type: string - pattern: ^(?!\s*$)[\w .,'-]{1,128}$ - description: >- - The API data type Name is a JSON String, restricted by a - regular expression to avoid characters which are - generally not used in a name. - - - Regular Expression - The regular expression for - restricting the Name type is "^(?!\s*$)[\w - .,'-]{1,128}$". The restriction does not allow a string - consisting of whitespace only, all Unicode characters - are allowed, as well as the period (.) (apostrophe (‘), - dash (-), comma (,) and space characters ( ). - - - **Note:** In some programming languages, Unicode support - must be specifically enabled. For example, if Java is - used, the flag UNICODE_CHARACTER_CLASS must be enabled - to allow Unicode characters. - firstName: - title: FirstName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: First name of the Party (Name Type). - example: Henrik - middleName: - title: MiddleName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Middle name of the Party (Name Type). - example: Johannes - lastName: - title: LastName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Last name of the Party (Name Type). - example: Karlsson - dateOfBirth: - title: DateofBirth (type Date) - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - description: Date of Birth of the Party. - example: '1966-06-16' - merchantClassificationCode: - title: MerchantClassificationCode - type: string - pattern: ^[\d]{1,4}$ - description: >- - A limited set of pre-defined numbers. This list would be - a limited set of numbers identifying a set of popular - merchant types like School Fees, Pubs and Restaurants, - Groceries, etc. - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - extensionList: - type: array - items: &ref_2 - title: Extension - type: object - description: Data model for the complex type Extension. - properties: &ref_8 - key: - title: ExtensionKey - type: string - minLength: 1 - maxLength: 32 - description: Extension key. - value: - title: ExtensionValue - type: string - minLength: 1 - maxLength: 128 - description: Extension value. - required: &ref_9 - - key - - value - minItems: 0 - maxItems: 16 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: &ref_3 - - SEND - - RECEIVE - description: >- - Below are the allowed values for the enumeration AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: &ref_4 - - AED - - AFN - - ALL - - AMD - - ANG - - AOA - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XCD - - XDR - - XOF - - XPF - - XTS - - XXX - - YER - - ZAR - - ZMW - - ZWD - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a minor - currency unit. It also only allows four digits in the minor - currency unit; a negative value is not allowed. Using more - than 18 digits in the major currency unit is not allowed. - example: '123.45' - transactionType: - title: transferTransactionType - type: string - enum: &ref_5 - - TRANSFER - description: Type of transaction. - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - quoteRequestExtensions: - type: array - items: *ref_2 - minItems: 0 - maxItems: 16 - transferRequestExtensions: - type: array - items: *ref_2 - minItems: 0 - maxItems: 16 - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party and no - party resolution is needed. This may be useful is a previous - party resolution has been performed. - type: boolean + $ref: '#/components/schemas/accountsRequest' required: true responses: '200': - description: Transfer completed successfully - content: &ref_15 - application/json: - schema: - type: object - required: &ref_12 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: &ref_13 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - from: - type: object - required: *ref_0 - properties: *ref_1 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a - minor currency unit. It also only allows four digits in - the minor currency unit; a negative value is not allowed. - Using more than 18 digits in the major currency unit is - not allowed. - example: '123.45' - transactionType: - title: transferTransactionType - type: string - enum: *ref_5 - description: Type of transaction. - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - currentState: - type: string - enum: &ref_19 - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED - quoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - getPartiesResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object - quoteResponse: - type: object - required: - - body - properties: - body: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: &ref_56 - transferAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: &ref_6 - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as - the standard naming representation for - currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: >- - ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a - canonical format that is restricted by a - regular expression for interoperability - reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount - without a minor currency unit. It also only - allows four digits in the minor currency unit; - a negative value is not allowed. Using more - than 18 digits in the major currency unit is - not allowed. - example: '123.45' - required: &ref_7 - - currency - - amount - payeeReceiveAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspFee: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspCommission: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - expiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. The - format is according to [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone - format. A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu - time zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates - the geographic location from where the transaction - was initiated. - properties: &ref_44 - latitude: - title: Latitude - type: string - pattern: >- - ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Latitude is a JSON String in - a lexical format that is restricted by a - regular expression for interoperability - reasons. - example: '+45.4215' - longitude: - title: Longitude - type: string - pattern: >- - ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Longitude is a JSON String - in a lexical format that is restricted by a - regular expression for interoperability - reasons. - example: '+75.6972' - required: &ref_45 - - latitude - - longitude - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: >- - Information for recipient (transport layer - information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by - the Payer. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to - deployment. - properties: &ref_10 - extension: - type: array - items: - title: Extension - type: object - description: Data model for the complex type Extension. - properties: *ref_8 - required: *ref_9 - minItems: 1 - maxItems: 16 - description: Number of Extension elements. - required: &ref_11 - - extension - required: &ref_57 - - transferAmount - - expiration - - ilpPacket - - condition - headers: - type: object - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This - may not be the same as the FSPID of the entity which owns - the end user account in the case of a FOREX transfer. i.e. - it may be a FOREX gateway. - fulfil: - type: object - required: - - body - properties: - body: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: &ref_20 - fulfilment: - title: IlpFulfilment - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Fulfilment that must be attached to the transfer - by the Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - completedTimestamp: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. The - format is according to [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone - format. A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu - time zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - transferState: - title: TransferState - type: string - enum: &ref_27 - - RECEIVED - - RESERVED - - COMMITTED - - ABORTED - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Next ledger has received the - transfer. - - - RESERVED - Next ledger has reserved the - transfer. - - - COMMITTED - Next ledger has successfully - performed the transfer. - - - ABORTED - Next ledger has aborted the transfer - due to a rejection or failure to perform the - transfer. - example: RESERVED - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to - deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_21 - - transferState - headers: - type: object - lastError: - description: >- - This object represents a Mojaloop API error received at - any time during the transfer process - type: object - properties: &ref_26 - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is - the same as the actual HTTP status code returned with - the response. - mojaloopError: - description: >- - If a transfer process results in an error callback - during the asynchronous Mojaloop API exchange, this - property will contain the underlying Mojaloop API - error object. - type: object - properties: &ref_36 - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: &ref_63 - errorCode: - title: ErrorCode - type: string - pattern: ^[1-9]\d{3}$ - description: >- - The API data type ErrorCode is a JSON String - of four characters, consisting of digits only. - Negative numbers are not allowed. A leading - zero is not allowed. Each error code in the - API is a four-digit number, for example, 1234, - where the first number (1 in the example) - represents the high-level error category, the - second number (2 in the example) represents - the low-level error category, and the last two - numbers (34 in the example) represent the - specific error. - example: '5100' - errorDescription: - title: ErrorDescription - type: string - minLength: 1 - maxLength: 128 - description: Error description string. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. - An optional list of extensions, specific to - deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_64 - - errorCode - - errorDescription - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party and - no party resolution is needed. This may be useful is a - previous party resolution has been performed. - type: boolean + $ref: '#/components/responses/accountsCreationCompleted' '400': - description: Malformed or missing required body, headers or parameters - content: &ref_143 - application/json: - schema: - allOf: &ref_14 - - type: object - properties: &ref_22 - statusCode: - type: string - description: Error code as string. - message: - type: string - description: Error message text. - - type: object - required: - - transferState - properties: - transferState: - type: object - required: *ref_12 - properties: *ref_13 + $ref: '#/components/responses/accountsCreationError' '500': - description: An error occurred processing the transfer - content: &ref_16 - application/json: - schema: - allOf: *ref_14 + $ref: '#/components/responses/accountsCreationError' '504': - description: Timeout occurred processing the transfer - content: &ref_17 - application/json: - schema: - allOf: *ref_14 - /transfers/{transferId}: - put: - summary: >- - Continues a transfer that has paused at the quote stage in order to - accept or reject payee party and/or quote + $ref: '#/components/responses/accountsCreationTimeout' + /bulkQuotes: + post: + summary: Request bulk quotes for the provided financial transactions description: > - The HTTP request `PUT /transfers/{transferId}` is used to continue a - transfer initiated via the `POST /transfers` method that has halted - after party lookup and/or quotation stage. - - - The request body should contain either the "acceptParty" or - "acceptQuote" property set to `true` as required to continue the - transfer. - - - See the description of the `POST /transfers` HTTP method for more - information on modes of transfer. + The HTTP request `POST /bulkQuotes` is used to request a bulk quote to + fascilitate funds transfer from payer DFSP to payees' DFSP. tags: - - Transfers + - BulkQuotes requestBody: + description: Bulk quote request body content: application/json: schema: - oneOf: - - type: object - required: &ref_28 - - acceptParty - properties: &ref_29 - acceptParty: - type: boolean - enum: - - true - - false - - type: object - required: &ref_32 - - acceptQuote - properties: &ref_33 - acceptQuote: - type: boolean - enum: - - true - - false - parameters: - - name: transferId - in: path - required: true - schema: &ref_18 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: >- - Identifier of the transfer to continue as returned in the response - to a `POST /transfers` request. + $ref: '#/components/schemas/bulkQuoteRequest' + required: true responses: '200': - description: Transfer completed successfully - content: *ref_15 + $ref: '#/components/responses/bulkQuoteSuccess' + '400': + $ref: '#/components/responses/bulkQuoteBadRequest' '500': - description: An error occurred processing the transfer - content: *ref_16 + $ref: '#/components/responses/bulkQuoteServerError' '504': - description: Timeout occurred processing the transfer - content: *ref_17 + $ref: '#/components/responses/bulkQuoteTimeout' + /bulkQuotes/{bulkQuoteId}: get: - summary: Retrieves information for a specific transfer + summary: Retrieves information for a specific bulk quote description: >- - The HTTP request `GET /transfers/{transferId}` is used to get - information regarding a transfer created or requested earlier. The - `{transferId}` in the URI should contain the `transferId` that was used - for the creation of the transfer. + The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get + information regarding a bulk quote created or requested earlier. The + `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was + used for the creation of the bulk quote. tags: - - Transfers + - BulkQuotes parameters: - - name: transferId - in: path - required: true - schema: *ref_18 - description: >- - Identifier of the transfer to continue as returned in the response - to a `POST /transfers` request. + - $ref: '#/components/parameters/bulkQuoteId' responses: '200': - description: Transfer information successfully retrieved + description: Bulk quote information successfully retrieved content: application/json: schema: - type: object - required: &ref_72 - - transferId - - currentState - - fulfil - properties: &ref_73 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - currentState: - type: string - enum: *ref_19 - fulfil: - type: object - required: - - body - properties: - body: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: *ref_20 - required: *ref_21 - headers: - type: object + $ref: '#/components/schemas/bulkQuoteStatusResponse' '500': - description: An error occurred processing the transfer + description: An error occurred processing the bulk quote content: application/json: schema: - type: object - properties: *ref_22 + $ref: '#/components/schemas/errorResponse' /bulkTransactions: post: summary: Sends money from one account to multiple accounts @@ -1166,598 +123,15 @@ paths: content: application/json: schema: - type: object - required: &ref_88 - - bulkTransactionId - - bulkHomeTransactionID - - options - - from - - individualTransfers - properties: &ref_89 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - bulkTransactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - options: - type: object - required: &ref_80 - - autoAcceptParty - - autoAcceptQuote - - bulkExpiration - properties: &ref_81 - onlyValidateParty: - description: >- - Set to true if only party validation is required. This - means the quotes and transfers will not run. This is - useful for only party resolution. - type: boolean - autoAcceptParty: - type: object - required: &ref_74 - - enabled - properties: &ref_75 - enabled: - type: boolean - enum: - - false - - true - autoAcceptQuote: - description: >- - Set to true if the quote response is accepted without - confirmation from the payer. The fees applied by the - payee will be acceptable to the payer abiding by the - limits set by optional 'perTransferFeeLimits' array. - type: object - oneOf: - - type: object - required: &ref_78 - - enabled - properties: &ref_79 - enabled: - type: boolean - enum: - - true - - false - perTransferFeeLimits: - type: array - minItems: 0 - items: - type: object - required: &ref_76 - - currency - - amount - properties: &ref_77 - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used - as the standard naming representation for - currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: >- - ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String - in a canonical format that is restricted - by a regular expression for - interoperability reasons. This pattern - does not allow any trailing zeroes at all, - but allows an amount without a minor - currency unit. It also only allows four - digits in the minor currency unit; a - negative value is not allowed. Using more - than 18 digits in the major currency unit - is not allowed. - example: '123.45' - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party - and no party resolution is needed. This may be useful if - a previous party resolution has been performed. - type: boolean - synchronous: - description: >- - Set to true if the bulkTransfer requests need be handled - synchronous. Otherwise the requests will be handled - asynchronously, meaning there will be callbacks - whenever the processing is done - type: boolean - bulkExpiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - from: - title: Party - type: object - description: Data model for the complex type Party. - properties: &ref_24 - partyIdInfo: - title: PartyIdInfo - type: object - description: >- - Data model for the complex type PartyIdInfo. An - ExtensionList element has been added to this reqeust in - version v1.1 - properties: &ref_82 - partyIdType: - title: PartyIdType - type: string - enum: *ref_23 - description: >- - Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International - Subscriber Directory Number, that is, the phone - number) is used as reference to a participant. The - MSISDN identifier should be in international format - according to the [ITU-T E.164 - standard](https://www.itu.int/rec/T-REC-E.164/en). - Optionally, the MSISDN may be prefixed by a single - plus sign, indicating the international prefix. - - - EMAIL - An email is used as reference to a - participant. The format of the email should be - according to the informational [RFC - 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as - reference to a participant. Examples of personal - identification are passport number, birth - certificate number, and national registration - number. The identifier number is added in the - PartyIdentifier element. The personal identifier - type is added in the PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an - organization or a company) is used as reference to a - participant. The BUSINESS identifier can be in any - format. To make a transaction connected to a - specific username or bill number in a Business, the - PartySubIdOrType element should be used. - - - DEVICE - A specific device (for example, a POS or - ATM) ID connected to a specific business or - organization is used as reference to a Party. For - referencing a specific device under a specific - business or organization, use the PartySubIdOrType - element. - - - ACCOUNT_ID - A bank account number or FSP account - ID should be used as reference to a participant. The - ACCOUNT_ID identifier can be in any format, as - formats can greatly differ depending on country and - FSP. - - - IBAN - A bank account number or FSP account ID is - used as reference to a participant. The IBAN - identifier can consist of up to 34 alphanumeric - characters and should be entered without whitespace. - - - ALIAS An alias is used as reference to a - participant. The alias should be created in the FSP - as an alternative reference to an account owner. - Another example of an alias is a username in the FSP - system. The ALIAS identifier can be in any format. - It is also possible to use the PartySubIdOrType - element for identifying an account under an Alias - defined by the PartyIdentifier. - partyIdentifier: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - partySubIdOrType: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a - sub-type of the PartyIdType, normally a - PersonalIdentifierType. - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_83 - - partyIdType - - partyIdentifier - merchantClassificationCode: - title: MerchantClassificationCode - type: string - pattern: ^[\d]{1,4}$ - description: >- - A limited set of pre-defined numbers. This list would be - a limited set of numbers identifying a set of popular - merchant types like School Fees, Pubs and Restaurants, - Groceries, etc. - name: - title: PartyName - type: string - minLength: 1 - maxLength: 128 - description: Name of the Party. Could be a real name or a nickname. - personalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: &ref_85 - complexName: - title: PartyComplexName - type: object - description: Data model for the complex type PartyComplexName. - properties: &ref_84 - firstName: - title: FirstName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: First name of the Party (Name Type). - example: Henrik - middleName: - title: MiddleName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Middle name of the Party (Name Type). - example: Johannes - lastName: - title: LastName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Last name of the Party (Name Type). - example: Karlsson - dateOfBirth: - title: DateofBirth (type Date) - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - description: Date of Birth of the Party. - example: '1966-06-16' - required: &ref_25 - - partyIdInfo - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - items: - title: BulkTransactionIndividualTransfer - type: object - description: >- - Data model for the complex type - 'bulkTransactionIndividualTransfer'. - properties: &ref_86 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and DFSP - backend systems. - to: - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_24 - required: *ref_25 - reference: - description: Payer Loan reference - type: string - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to - the receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a - canonical format that is restricted by a regular - expression for interoperability reasons. This pattern - does not allow any trailing zeroes at all, but allows - an amount without a minor currency unit. It also only - allows four digits in the minor currency unit; a - negative value is not allowed. Using more than 18 - digits in the major currency unit is not allowed. - example: '123.45' - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - quoteExtensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - transferExtensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - lastError: - type: object - description: >- - This object represents a Mojaloop API error received - at any time during the transfer process - properties: *ref_26 - required: &ref_87 - - homeTransactionId - - to - - amountType - - currency - - amount - extensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 + $ref: '#/components/schemas/bulkTransactionRequest' required: true responses: '202': - description: Bulk transfer accepted successfully + $ref: '#/components/responses/bulkTransactionAccepted' '400': - description: Malformed or missing required body, headers or parameters - content: &ref_41 - application/json: - schema: - allOf: &ref_92 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTransferState - properties: - bulkTransferState: - type: object - required: &ref_39 - - bulkTransferId - - individualTransferResults - - currentState - properties: &ref_40 - bulkTransferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID (Universally - Unique Identifier) is a JSON String in canonical - format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that - is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - bulkQuoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID (Universally - Unique Identifier) is a JSON String in canonical - format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that - is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to - reconcile transactions between the Switch and DFSP - backend systems. - bulkTransferState: - title: TransferState - type: string - enum: *ref_27 - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Next ledger has received the - transfer. - - - RESERVED - Next ledger has reserved the - transfer. - - - COMMITTED - Next ledger has successfully - performed the transfer. - - - ABORTED - Next ledger has aborted the transfer - due to a rejection or failure to perform the - transfer. - example: RESERVED - completedTimestamp: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. The - format is according to [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone - format. A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu - time zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to - deployment. - properties: *ref_10 - required: *ref_11 - currentState: - type: string - enum: &ref_43 - - ERROR_OCCURRED - - COMPLETED - individualTransferResults: - type: array - maxItems: 1000 - items: - type: object - required: &ref_90 - - transferId - properties: &ref_91 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of - the same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to - [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression - for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - fulfilment: - description: >- - Fulfilment that must be attached to the - transfer by the Payee. - title: IlpFulfilment - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - extensionList: - description: >- - Data model for the complex type - ExtensionList. An optional list of - extensions, specific to deployment. - title: ExtensionList - type: object - properties: *ref_10 - required: *ref_11 - lastError: - type: object - description: >- - This object represents a Mojaloop API error - received at any time during the transfer - process - properties: *ref_26 - description: >- - List of individual transfer result in a bulk - transfer response. + $ref: '#/components/responses/bulkTransferBadRequest' '500': - description: Internal Server Error - content: &ref_42 - application/json: - schema: - type: object - properties: *ref_22 + $ref: '#/components/responses/errorResponse' /bulkTransactions/{bulkTransactionId}: put: summary: Amends the bulk transaction request @@ -1771,183 +145,27 @@ paths: tags: - BulkTransactions parameters: - - name: bulkTransactionId - in: path - required: true - schema: &ref_159 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: >- - Identifier of the bulk transaction to continue as returned in the - response to a `POST /bulkTransaction` request. + - $ref: '#/components/parameters/bulkTransactionId' requestBody: description: Bulk transaction request body content: application/json: schema: oneOf: - - description: >- - The object sent back as confirmation of payee parties when - autoAcceptParty is false. - type: object - required: &ref_34 - - individualTransfers - properties: &ref_35 - individualTransfers: - description: >- - List of individual transfers in a bulk transfer with - accept party information. - type: array - minItems: 1 - items: - allOf: - - type: object - description: >- - Data model for the 'individualTransfer' while - accepting party or quote. - properties: &ref_30 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), - that is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - required: &ref_31 - - transferId - - type: object - required: *ref_28 - properties: *ref_29 - - description: >- - The object sent back as confirmation of quotes when - autoAcceptQuotes is false. - type: object - required: &ref_37 - - individualTransfers - properties: &ref_38 - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - items: - allOf: - - type: object - description: >- - Data model for the 'individualTransfer' while - accepting party or quote. - properties: *ref_30 - required: *ref_31 - - type: object - required: *ref_32 - properties: *ref_33 + - $ref: '#/components/schemas/bulkTransactionContinuationAcceptParty' + - $ref: '#/components/schemas/bulkTransactionContinuationAcceptQuote' required: true responses: '202': description: Bulk transaction information successfully amended '400': - description: Malformed or missing required body, headers or parameters - content: &ref_144 - application/json: - schema: - oneOf: - - allOf: &ref_94 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTransferState - properties: - bulkTransferState: - allOf: - - description: >- - The object sent back as confirmation of payee - parties when autoAcceptParty is false. - type: object - required: *ref_34 - properties: *ref_35 - - type: object - description: >- - This object represents a Mojaloop API error - received at any time during the party - discovery process - properties: &ref_93 - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the - caller. This is the same as the actual - HTTP status code returned with the - response. - mojaloopError: - description: >- - If a transfer process results in an error - callback during the asynchronous Mojaloop - API exchange, this property will contain - the underlying Mojaloop API error object. - type: object - properties: *ref_36 - - allOf: &ref_95 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - allOf: - - description: >- - The object sent back as confirmation of quotes - when autoAcceptQuotes is false. - type: object - required: *ref_37 - properties: *ref_38 - - type: object - description: >- - This object represents a Mojaloop API error - received at any time during the quote process - properties: &ref_46 - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the - caller. This is the same as the actual - HTTP status code returned with the - response. - mojaloopError: - description: >- - If a quote process results in an error - callback during the asynchronous Mojaloop - API exchange, this property will contain - the underlying Mojaloop API error object. - type: object - properties: *ref_36 + $ref: '#/components/responses/bulkTransactionPutBadRequest' '500': description: An error occurred processing the bulk transaction content: application/json: schema: - type: object - properties: *ref_22 + $ref: '#/components/schemas/errorResponse' /bulkTransfers: post: summary: Sends money from one account to multiple accounts @@ -1961,193 +179,15 @@ paths: content: application/json: schema: - type: object - required: &ref_98 - - bulkTransferId - - homeTransactionId - - bulkQuoteId - - from - - individualTransfers - properties: &ref_99 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - bulkTransferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - bulkQuoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - from: - type: object - required: *ref_0 - properties: *ref_1 - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - title: IndividualTransfer - type: object - description: Data model for the complex type 'individualTransfer'. - properties: &ref_96 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to - the receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a - canonical format that is restricted by a regular - expression for interoperability reasons. This pattern - does not allow any trailing zeroes at all, but allows - an amount without a minor currency unit. It also only - allows four digits in the minor currency unit; a - negative value is not allowed. Using more than 18 - digits in the major currency unit is not allowed. - example: '123.45' - transactionType: - title: transferTransactionType - type: string - enum: *ref_5 - description: Type of transaction. - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: >- - Information for recipient (transport layer - information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by the - Payer. - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - extensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_97 - - transferId - - to - - amountType - - currency - - amount - - ilpPacket - - condition - extensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 + $ref: '#/components/schemas/bulkTransferRequest' required: true responses: '200': - description: Bulk transfer completed successfully - content: &ref_145 - application/json: - schema: - type: object - required: *ref_39 - properties: *ref_40 + $ref: '#/components/responses/bulkTransferSuccess' '400': - description: Malformed or missing required body, headers or parameters - content: *ref_41 + $ref: '#/components/responses/bulkTransferBadRequest' '500': - description: Internal Server Error - content: *ref_42 + $ref: '#/components/responses/errorResponse' /bulkTransfers/{bulkTransferId}: get: summary: Retrieves information for a specific bulk transfer @@ -2159,504 +199,78 @@ paths: tags: - BulkTransfers parameters: - - name: bulkTransferId - in: path - required: true - schema: &ref_160 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: >- - Identifier of the bulk transfer to continue as returned in the - response to a `POST /bulkTransfers` request. + - $ref: '#/components/parameters/bulkTransferId' responses: '200': description: Bulk transfer information successfully retrieved content: application/json: schema: - type: object - required: &ref_101 - - bulkTransferId - - currentState - - fulfils - properties: &ref_102 - bulkTransferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - currentState: - type: string - enum: *ref_43 - fulfils: - type: array - minItems: 1 - maxItems: 1000 - items: - type: object - description: >- - A Mojaloop API transfer fulfilment for individual - transfers in a bulk transfer - properties: &ref_100 - fulfilment: - description: >- - Fulfilment that must be attached to the transfer by - the Payee. - title: IlpFulfilment - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - extensionList: - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - title: ExtensionList - type: object - properties: *ref_10 - required: *ref_11 + $ref: '#/components/schemas/bulkTransferStatusResponse' '500': description: An error occurred processing the bulk transfer content: application/json: schema: - type: object - properties: *ref_22 - /bulkQuotes: + $ref: '#/components/schemas/errorResponse' + /parties/{Type}/{ID}: + parameters: + - $ref: '#/components/parameters/Type' + - $ref: '#/components/parameters/ID' + get: + description: >- + The HTTP request GET /parties// (or GET /parties///) is used to lookup + information regarding the requested Party, defined by , and optionally + (for example, GET /parties/MSISDN/123456789, or GET + /parties/BUSINESS/shoecompany/employee1). + summary: PartiesByTypeAndID + tags: + - parties + operationId: PartiesByTypeAndID + responses: + '200': + $ref: '#/components/responses/partiesByIdSuccess' + '404': + $ref: '#/components/responses/partiesByIdError404' + /parties/{Type}/{ID}/{SubId}: + parameters: + - $ref: '#/components/parameters/Type' + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/SubId' + get: + description: >- + The HTTP request GET /parties// (or GET /parties///) is used to lookup + information regarding the requested Party, defined by , and optionally + (for example, GET /parties/MSISDN/123456789, or GET + /parties/BUSINESS/shoecompany/employee1). + summary: PartiesSubIdByTypeAndID + tags: + - parties + operationId: PartiesSubIdByTypeAndID + responses: + '200': + $ref: '#/components/responses/partiesByIdSuccess' + '404': + $ref: '#/components/responses/partiesByIdError404' + /quotes: post: - summary: Request bulk quotes for the provided financial transactions - description: > - The HTTP request `POST /bulkQuotes` is used to request a bulk quote to - fascilitate funds transfer from payer DFSP to payees' DFSP. + summary: Quotes endpoint + description: is used to request quotes from other DFSP tags: - - BulkQuotes + - quotes + operationId: QuotesPost requestBody: - description: Bulk quote request body + description: Quotes request payload content: application/json: schema: - type: object - required: &ref_103 - - homeTransactionId - - from - - individualQuotes - properties: &ref_104 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - bulkQuoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - from: - type: object - required: *ref_0 - properties: *ref_1 - individualQuotes: - description: List of individual quotes in a bulk quote. - type: array - minItems: 1 - maxItems: 1000 - items: - title: IndividualQuote - type: object - description: Data model for the complex type 'individualQuote'. - properties: &ref_50 - quoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to - the receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a - canonical format that is restricted by a regular - expression for interoperability reasons. This pattern - does not allow any trailing zeroes at all, but allows - an amount without a minor currency unit. It also only - allows four digits in the minor currency unit; a - negative value is not allowed. Using more than 18 - digits in the major currency unit is not allowed. - example: '123.45' - transactionType: - title: transferTransactionType - type: string - enum: *ref_5 - description: Type of transaction. - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - extensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_51 - - quoteId - - to - - amountType - - currency - - transactionType - - amount - extensions: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 + $ref: '#/components/schemas/simpleQuotesPostRequest' required: true responses: '200': - description: Bulk quote completed successfully - content: &ref_146 - application/json: - schema: - type: object - required: &ref_47 - - bulkQuoteId - - individualQuoteResults - - currentState - - expiration - properties: &ref_48 - bulkQuoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - expiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. A - more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - currentState: - type: string - enum: *ref_43 - individualQuoteResults: - type: array - maxItems: 1000 - items: - type: object - properties: &ref_105 - quoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transferAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeReceiveAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspFee: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspCommission: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - geoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates - the geographic location from where the transaction - was initiated. - properties: *ref_44 - required: *ref_45 - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: >- - Information for recipient (transport layer - information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by - the Payer. - extensionList: - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - title: ExtensionList - type: object - properties: *ref_10 - required: *ref_11 - lastError: - description: >- - This object represents a Mojaloop API error received - at any time during the quote process - type: object - properties: *ref_46 - required: &ref_106 - - quoteId - - transferAmount - - ilpPacket - - condition - description: >- - List of individualQuoteResults in a bulk transfer - response. - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_147 - application/json: - schema: - allOf: &ref_49 - - type: object - properties: *ref_22 - - type: object - required: - - bulkQuoteState - properties: - bulkQuoteState: - type: object - required: *ref_47 - properties: *ref_48 - '500': - description: An error occurred processing the bulk quote - content: &ref_148 - application/json: - schema: - allOf: *ref_49 - '504': - description: Timeout occurred processing the bulk quote - content: &ref_149 - application/json: - schema: - allOf: *ref_49 - /bulkQuotes/{bulkQuoteId}: - get: - summary: Retrieves information for a specific bulk quote - description: >- - The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get - information regarding a bulk quote created or requested earlier. The - `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was - used for the creation of the bulk quote. - tags: - - BulkQuotes - parameters: - - name: bulkQuoteId - in: path - required: true - schema: &ref_161 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: >- - Identifier of the bulk transfer to continue as returned in the - response to a `POST /bulkTransfers` request. - responses: - '200': - description: Bulk quote information successfully retrieved - content: - application/json: - schema: - type: object - required: &ref_108 - - bulkQuoteId - - currentState - - individualQuotes - properties: &ref_109 - bulkQuoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - currentState: - type: string - enum: &ref_107 - - ERROR_OCCURRED - - COMPLETED - individualQuotes: - type: array - minItems: 1 - maxItems: 1000 - items: - title: IndividualQuote - type: object - description: Data model for the complex type 'individualQuote'. - properties: *ref_50 - required: *ref_51 + $ref: '#/components/responses/quotesPostSuccess' '500': - description: An error occurred processing the bulk quote - content: - application/json: - schema: - type: object - properties: *ref_22 + $ref: '#/components/responses/quotesServerError' /requestToPay: post: summary: Receiver requesting funds from Sender @@ -2675,384 +289,11 @@ paths: content: application/json: schema: - type: object - required: &ref_113 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: &ref_114 - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - from: - type: object - required: *ref_0 - properties: *ref_1 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a minor - currency unit. It also only allows four digits in the minor - currency unit; a negative value is not allowed. Using more - than 18 digits in the major currency unit is not allowed. - example: '123.45' - scenario: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: &ref_54 - scenario: - title: TransactionScenario - type: string - enum: &ref_110 - - DEPOSIT - - WITHDRAWAL - - TRANSFER - - PAYMENT - - REFUND - description: >- - Below are the allowed values for the enumeration. - - - DEPOSIT - Used for performing a Cash-In (deposit) - transaction. In a normal scenario, electronic funds are - transferred from a Business account to a Consumer - account, and physical cash is given from the Consumer to - the Business User. - - - WITHDRAWAL - Used for performing a Cash-Out - (withdrawal) transaction. In a normal scenario, - electronic funds are transferred from a Consumer’s - account to a Business account, and physical cash is - given from the Business User to the Consumer. - - - TRANSFER - Used for performing a P2P (Peer to Peer, or - Consumer to Consumer) transaction. - - - PAYMENT - Usually used for performing a transaction - from a Consumer to a Merchant or Organization, but could - also be for a B2B (Business to Business) payment. The - transaction could be online for a purchase in an - Internet store, in a physical store where both the - Consumer and Business User are present, a bill payment, - a donation, and so on. - - - REFUND - Used for performing a refund of transaction. - example: DEPOSIT - subScenario: - title: TransactionSubScenario - type: string - pattern: ^[A-Z_]{1,32}$ - description: >- - Possible sub-scenario, defined locally within the scheme - (UndefinedEnum Type). - example: LOCALLY_DEFINED_SUBSCENARIO - initiator: - title: TransactionInitiator - type: string - enum: &ref_53 - - PAYER - - PAYEE - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the transaction. - The account to send from is either owned by the Payer or - is connected to the Payer in some way. - - - PAYEE - Recipient of the funds is initiating the - transaction by sending a transaction request. The Payer - must approve the transaction, either automatically by a - pre-generated OTP or by pre-approval of the Payee, or by - manually approving in his or her own Device. - example: PAYEE - initiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_52 - description: >- - Below are the allowed values for the enumeration. - - - CONSUMER - Consumer is the initiator of the - transaction. - - - AGENT - Agent is the initiator of the transaction. - - - BUSINESS - Business is the initiator of the - transaction. - - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER - refundInfo: - title: Refund - type: object - description: Data model for the complex type Refund. - properties: &ref_111 - originalTransactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - refundReason: - title: RefundReason - type: string - minLength: 1 - maxLength: 128 - description: Reason for the refund. - example: Free text indicating reason for the refund. - required: &ref_112 - - originalTransactionId - balanceOfPayments: - title: BalanceOfPayments - type: string - pattern: ^[1-9]\d{2}$ - description: >- - (BopCode) The API data type - [BopCode](https://www.imf.org/external/np/sta/bopcode/) - is a JSON String of 3 characters, consisting of digits - only. Negative numbers are not allowed. A leading zero - is not allowed. - example: '123' - required: &ref_55 - - scenario - - initiator - - initiatorType - initiator: - title: TransactionInitiator - type: string - enum: *ref_53 - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the transaction. The - account to send from is either owned by the Payer or is - connected to the Payer in some way. - - - PAYEE - Recipient of the funds is initiating the - transaction by sending a transaction request. The Payer must - approve the transaction, either automatically by a - pre-generated OTP or by pre-approval of the Payee, or by - manually approving in his or her own Device. - example: PAYEE - initiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_52 - description: |- - Below are the allowed values for the enumeration. - - CONSUMER - Consumer is the initiator of the transaction. - - AGENT - Agent is the initiator of the transaction. - - BUSINESS - Business is the initiator of the transaction. - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER + $ref: '#/components/schemas/requestToPayRequest' required: true responses: '200': - description: Request to Pay completed successfully - content: &ref_150 - application/json: - schema: - type: object - required: &ref_117 - - transactionRequestId - - from - - to - - amountType - - currency - - amount - - transactionType - - requestToPayState - properties: &ref_118 - transactionRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - from: - type: object - required: *ref_0 - properties: *ref_1 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a - minor currency unit. It also only allows four digits in - the minor currency unit; a negative value is not allowed. - Using more than 18 digits in the major currency unit is - not allowed. - example: '123.45' - scenario: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: *ref_54 - required: *ref_55 - initiator: - title: TransactionInitiator - type: string - enum: *ref_53 - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the transaction. - The account to send from is either owned by the Payer or - is connected to the Payer in some way. - - - PAYEE - Recipient of the funds is initiating the - transaction by sending a transaction request. The Payer - must approve the transaction, either automatically by a - pre-generated OTP or by pre-approval of the Payee, or by - manually approving in his or her own Device. - example: PAYEE - initiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_52 - description: |- - Below are the allowed values for the enumeration. - - CONSUMER - Consumer is the initiator of the transaction. - - AGENT - Agent is the initiator of the transaction. - - BUSINESS - Business is the initiator of the transaction. - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER - authenticationType: - title: AuthenticationType - type: string - enum: &ref_115 - - OTP - - QRCODE - - U2F - description: >- - Below are the allowed values for the enumeration - AuthenticationType. - - - OTP - One-time password generated by the Payer FSP. - - - QRCODE - QR code used as One Time Password. - - - U2F - U2F is a new addition isolated to Thirdparty - stream. - example: OTP - requestToPayState: - title: TransactionRequestState - type: string - enum: &ref_116 - - RECEIVED - - PENDING - - ACCEPTED - - REJECTED - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Payer FSP has received the transaction from - the Payee FSP. - - - PENDING - Payer FSP has sent the transaction request to - the Payer. - - - ACCEPTED - Payer has approved the transaction. - - - REJECTED - Payer has rejected the transaction. - example: RECEIVED + $ref: '#/components/responses/requestToPaySuccess' /requestToPayTransfer: post: summary: >- @@ -3100,264 +341,17 @@ paths: content: application/json: schema: - type: object - required: &ref_119 - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: &ref_120 - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - from: - type: object - required: *ref_0 - properties: *ref_1 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a minor - currency unit. It also only allows four digits in the minor - currency unit; a negative value is not allowed. Using more - than 18 digits in the major currency unit is not allowed. - example: '123.45' - scenario: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: *ref_54 - required: *ref_55 - initiator: - title: TransactionInitiator - type: string - enum: *ref_53 - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the transaction. The - account to send from is either owned by the Payer or is - connected to the Payer in some way. - - - PAYEE - Recipient of the funds is initiating the - transaction by sending a transaction request. The Payer must - approve the transaction, either automatically by a - pre-generated OTP or by pre-approval of the Payee, or by - manually approving in his or her own Device. - example: PAYEE - initiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_52 - description: |- - Below are the allowed values for the enumeration. - - CONSUMER - Consumer is the initiator of the transaction. - - AGENT - Agent is the initiator of the transaction. - - BUSINESS - Business is the initiator of the transaction. - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. + $ref: '#/components/schemas/requestToPayTransferRequest' required: true responses: '200': - description: Transfer completed successfully - content: &ref_151 - application/json: - schema: - type: object - required: &ref_121 - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: &ref_122 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend systems. - from: - type: object - required: *ref_0 - properties: *ref_1 - to: - type: object - required: *ref_0 - properties: *ref_1 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, the - amount that should be withdrawn from the Payer account - including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a canonical - format that is restricted by a regular expression for - interoperability reasons. This pattern does not allow any - trailing zeroes at all, but allows an amount without a - minor currency unit. It also only allows four digits in - the minor currency unit; a negative value is not allowed. - Using more than 18 digits in the major currency unit is - not allowed. - example: '123.45' - transactionType: - title: transferTransactionType - type: string - enum: *ref_5 - description: Type of transaction. - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - currentState: - type: string - enum: *ref_19 - quoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - quoteResponse: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: *ref_56 - required: *ref_57 - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This - may not be the same as the FSPID of the entity which owns - the end user account in the case of a FOREX transfer. i.e. - it may be a FOREX gateway. - fulfil: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: *ref_20 - required: *ref_21 - lastError: - description: >- - This object represents a Mojaloop API error received at - any time during the transfer process - type: object - properties: *ref_26 + $ref: '#/components/responses/requestToPayTransferSuccess' '400': - description: Malformed or missing required body, headers or parameters - content: &ref_152 - application/json: - schema: - allOf: *ref_14 + $ref: '#/components/responses/requestToPayTransferBadRequest' '500': - description: An error occurred processing the transfer - content: *ref_16 + $ref: '#/components/responses/transferServerError' '504': - description: Timeout occurred processing the transfer - content: *ref_17 + $ref: '#/components/responses/transferTimeout' /requestToPayTransfer/{requestToPayTransactionId}: put: summary: >- @@ -3382,880 +376,166 @@ paths: application/json: schema: oneOf: - - type: object - required: *ref_32 - properties: *ref_33 - - type: object - required: &ref_123 - - acceptOTP - properties: &ref_124 - acceptOTP: - type: boolean - enum: - - true - - false + - $ref: '#/components/schemas/transferContinuationAcceptQuote' + - $ref: '#/components/schemas/transferContinuationAcceptOTP' parameters: - - name: requestToPayTransactionId - in: path - required: true - schema: &ref_162 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The - API data type UUID (Universally Unique Identifier) is a JSON - String in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by - a regular expression for interoperability reasons. A UUID is - always 36 characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: >- - Identifier of the merchant request to pay transfer to continue as - returned in the response to a `POST /requestToPayTransfer` request. + - $ref: '#/components/parameters/requestToPayTransactionId' responses: '200': - description: Transfer completed successfully - content: *ref_15 + $ref: '#/components/responses/transferSuccess' '500': - description: An error occurred processing the transfer - content: *ref_16 + $ref: '#/components/responses/transferServerError' '504': - description: Timeout occurred processing the transfer - content: *ref_17 - /accounts: + $ref: '#/components/responses/transferTimeout' + /simpleTransfers: post: - summary: Create accounts on the Account Lookup Service - description: >- - The HTTP request `POST /accounts` is used to create account information - on the Account Lookup Service (ALS) regarding the provided list of - identities. - - - Caller DFSP is used as the account source FSP information + summary: Simple Transfers endpoint + description: is used to request a transfer tags: - - Accounts + - transfers + operationId: SimpleTransfersPost requestBody: - description: Identities list request body + description: Simple Transfer request payload content: application/json: schema: - type: array - items: &ref_58 - type: object - required: - - idType - - idValue - - currency - properties: - idType: - title: PartyIdType - type: string - enum: *ref_23 - description: >- - Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International - Subscriber Directory Number, that is, the phone number) is - used as reference to a participant. The MSISDN identifier - should be in international format according to the [ITU-T - E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - Optionally, the MSISDN may be prefixed by a single plus - sign, indicating the international prefix. - - - EMAIL - An email is used as reference to a participant. - The format of the email should be according to the - informational [RFC - 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as reference - to a participant. Examples of personal identification are - passport number, birth certificate number, and national - registration number. The identifier number is added in the - PartyIdentifier element. The personal identifier type is - added in the PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an - organization or a company) is used as reference to a - participant. The BUSINESS identifier can be in any format. - To make a transaction connected to a specific username or - bill number in a Business, the PartySubIdOrType element - should be used. - - - DEVICE - A specific device (for example, a POS or ATM) - ID connected to a specific business or organization is - used as reference to a Party. For referencing a specific - device under a specific business or organization, use the - PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP account ID - should be used as reference to a participant. The - ACCOUNT_ID identifier can be in any format, as formats can - greatly differ depending on country and FSP. - - - IBAN - A bank account number or FSP account ID is used - as reference to a participant. The IBAN identifier can - consist of up to 34 alphanumeric characters and should be - entered without whitespace. - - - ALIAS An alias is used as reference to a participant. - The alias should be created in the FSP as an alternative - reference to an account owner. Another example of an alias - is a username in the FSP system. The ALIAS identifier can - be in any format. It is also possible to use the - PartySubIdOrType element for identifying an account under - an Alias defined by the PartyIdentifier. - idValue: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - idSubValue: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a - sub-type of the PartyIdType, normally a - PersonalIdentifierType. - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 + $ref: '#/components/schemas/simpleTransfersPostRequest' required: true responses: '200': - description: Accounts creation completed - content: &ref_153 - application/json: - schema: - type: object - required: &ref_59 - - accounts - properties: &ref_60 - modelId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - accounts: - type: array - items: *ref_58 - response: - type: array - items: &ref_125 - type: object - required: - - idType - - idValue - properties: - idType: - title: PartyIdType - type: string - enum: *ref_23 - description: >- - Below are the allowed values for the enumeration. + $ref: '#/components/responses/simpleTransfersPostSuccess' + '500': + $ref: '#/components/responses/simpleTransfersServerError' + /transfers: + post: + summary: Sends money from one account to another + description: > + The HTTP request `POST /transfers` is used to request the movement of + funds from payer DFSP to payee DFSP. - - MSISDN - An MSISDN (Mobile Station International - Subscriber Directory Number, that is, the phone - number) is used as reference to a participant. The - MSISDN identifier should be in international format - according to the [ITU-T E.164 - standard](https://www.itu.int/rec/T-REC-E.164/en). - Optionally, the MSISDN may be prefixed by a single - plus sign, indicating the international prefix. + The underlying Mojaloop API has three stages for money transfer: - - EMAIL - An email is used as reference to a - participant. The format of the email should be - according to the informational [RFC - 3696](https://tools.ietf.org/html/rfc3696). + 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. + 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. + 3. Transfer. The enactment of the previously agreed "contract" - - PERSONAL_ID - A personal identifier is used as - reference to a participant. Examples of personal - identification are passport number, birth - certificate number, and national registration - number. The identifier number is added in the - PartyIdentifier element. The personal identifier - type is added in the PartySubIdOrType element. + This method has several modes of operation. - - BUSINESS - A specific Business (for example, an - organization or a company) is used as reference to a - participant. The BUSINESS identifier can be in any - format. To make a transaction connected to a - specific username or bill number in a Business, the - PartySubIdOrType element should be used. + - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to + `"false"` this method will terminate when the payee party has been + resolved and return the payee party details. + If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. + The scheme adapter will then proceed with quotation stage... - - DEVICE - A specific device (for example, a POS or - ATM) ID connected to a specific business or - organization is used as reference to a Party. For - referencing a specific device under a specific - business or organization, use the PartySubIdOrType - element. + - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` + this method will terminate and return the quotation when it has been + received from the payee DFSP. + If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. + The scheme adapter will then proceed with the transfer state. - - ACCOUNT_ID - A bank account number or FSP account - ID should be used as reference to a participant. The - ACCOUNT_ID identifier can be in any format, as - formats can greatly differ depending on country and - FSP. + If the configuration variables `AUTO_ACCEPT_PARTIES` and + `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block + until all three transfer stages are complete. Upon completion it will + return the entire set of transfer details received during the operation. - - IBAN - A bank account number or FSP account ID is - used as reference to a participant. The IBAN - identifier can consist of up to 34 alphanumeric - characters and should be entered without whitespace. - - ALIAS An alias is used as reference to a - participant. The alias should be created in the FSP - as an alternative reference to an account owner. - Another example of an alias is a username in the FSP - system. The ALIAS identifier can be in any format. - It is also possible to use the PartySubIdOrType - element for identifying an account under an Alias - defined by the PartyIdentifier. - idValue: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - idSubValue: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a - sub-type of the PartyIdType, normally a - PersonalIdentifierType. - error: - type: object - properties: *ref_22 - currentState: - type: string - enum: &ref_126 - - ERROR_OCCURRED - - COMPLETED - lastError: - type: object - description: >- - This object represents a Mojaloop API error received at - any time during the transfer process - properties: *ref_26 - postAccountsResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object - '400': - description: An error occurred creating accounts - content: &ref_61 - application/json: - schema: - allOf: &ref_62 - - type: object - properties: *ref_22 - - type: object - required: - - executionState - properties: - executionState: - type: object - required: *ref_59 - properties: *ref_60 - '500': - description: An error occurred creating accounts - content: *ref_61 - '504': - description: Timeout occurred creating accounts - content: &ref_154 - application/json: - schema: - allOf: *ref_62 - /parties/{Type}/{ID}: - parameters: - - name: Type - in: path - required: true - schema: &ref_65 - type: string - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: &ref_66 - type: string - description: The identifier value. - get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally - (for example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesByTypeAndID - tags: - - parties - operationId: PartiesByTypeAndID - responses: - '200': - description: PartiesByIdSuccess - content: &ref_67 - application/json: - schema: - title: partiesByIdResponse - type: object - description: GET /parties/{Type}/{ID} response object - properties: &ref_127 - party: - properties: - body: - description: Data model for the complex type Party. - title: Party - type: object - properties: *ref_24 - required: *ref_25 - headers: - type: object - required: - - body - - headers - currentState: - type: string - enum: &ref_69 - - WAITING_FOR_ACTION - - COMPLETED - - ERROR_OCCURRED - required: &ref_128 - - party - - currentState - '404': - description: PartiesByIdError404 - content: &ref_68 - application/json: - schema: - type: object - properties: - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: *ref_63 - required: *ref_64 - /parties/{Type}/{ID}/{SubId}: - parameters: - - name: Type - in: path - required: true - schema: *ref_65 - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: *ref_66 - description: The identifier value. - - name: SubId - in: path - required: true - schema: &ref_163 - type: string - description: >- - A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. - get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally - (for example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesSubIdByTypeAndID - tags: - - parties - operationId: PartiesSubIdByTypeAndID - responses: - '200': - description: PartiesByIdSuccess - content: *ref_67 - '404': - description: PartiesByIdError404 - content: *ref_68 - /quotes: - post: - summary: Quotes endpoint - description: is used to request quotes from other DFSP + Combinations of settings for `AUTO_ACCEPT...` configuration variables + allow the scheme adapter user to decide which mode of operation best + suits their use cases. i.e. the scheme adapter can be configured to + "break" the three stage transfer at these points in order to execute + backend logic such as party verification, quoted fees assessments etc... tags: - - quotes - operationId: QuotesPost + - Transfers requestBody: - description: Quotes request payload + description: Transfer request body content: application/json: schema: - title: simpleQuotesPostRequest - type: object - properties: &ref_131 - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - quotesPostRequest: - title: QuotesPostRequest - type: object - description: The object sent in the POST /quotes request. - properties: &ref_129 - quoteId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payee: - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_24 - required: *ref_25 - payer: - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_24 - required: *ref_25 - amountType: - title: AmountType - type: string - enum: *ref_3 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - amount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - fees: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - transactionType: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: *ref_54 - required: *ref_55 - geoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates the - geographic location from where the transaction was - initiated. - properties: *ref_44 - required: *ref_45 - note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - expiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_130 - - quoteId - - transactionId - - payee - - payer - - amountType - - amount - - transactionType - required: &ref_132 - - fspId - - quotesPostRequest + $ref: '#/components/schemas/transferRequest' required: true responses: '200': - description: sync response from POST /quotes - content: &ref_155 - application/json: - schema: - title: QuotesPostResponse - type: object - properties: &ref_133 - quotes: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: - body: - type: object - properties: - transferAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeReceiveAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspFee: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - payeeFspCommission: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - expiration: - type: string - description: >- - Date and time until when the quotation is valid - and can be honored when used in the subsequent - transaction. - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates - the geographic location from where the transaction - was initiated. - properties: *ref_44 - required: *ref_45 - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: >- - Information for recipient (transport layer - information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by - the Payer. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to - deployment. - properties: *ref_10 - required: *ref_11 - required: - - transferAmount - - expiration - - ilpPacket - - condition - headers: - type: object - required: - - body - - headers - currentState: - type: string - enum: *ref_69 - required: &ref_134 - - quotes - - currentState + $ref: '#/components/responses/transferSuccess' + '400': + $ref: '#/components/responses/transferBadRequest' '500': - description: An error occurred processing the quotes request - content: &ref_156 - application/json: - schema: - allOf: &ref_135 - - type: object - properties: *ref_22 - - type: object - /simpleTransfers: - post: - summary: Simple Transfers endpoint - description: is used to request a transfer + $ref: '#/components/responses/transferServerError' + '504': + $ref: '#/components/responses/transferTimeout' + /transfers/{transferId}: + put: + summary: >- + Continues a transfer that has paused at the quote stage in order to + accept or reject payee party and/or quote + description: > + The HTTP request `PUT /transfers/{transferId}` is used to continue a + transfer initiated via the `POST /transfers` method that has halted + after party lookup and/or quotation stage. + + + The request body should contain either the "acceptParty" or + "acceptQuote" property set to `true` as required to continue the + transfer. + + + See the description of the `POST /transfers` HTTP method for more + information on modes of transfer. tags: - - transfers - operationId: SimpleTransfersPost + - Transfers requestBody: - description: Simple Transfer request payload content: application/json: schema: - title: SimpleTransfersPostRequest - type: object - properties: &ref_138 - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - transfersPostRequest: - title: TransfersPostRequest - type: object - description: The object sent in the POST /transfers request. - properties: &ref_136 - transferId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payeeFsp: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - payerFsp: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - amount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: Information for recipient (transport layer information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by the - Payer. - expiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - required: &ref_137 - - transferId - - payeeFsp - - payerFsp - - amount - - ilpPacket - - condition - - expiration - required: &ref_139 - - fspId - - transfersPostRequest - required: true + oneOf: + - $ref: '#/components/schemas/transferContinuationAcceptParty' + - $ref: '#/components/schemas/transferContinuationAcceptQuote' + parameters: + - $ref: '#/components/parameters/transferId' + responses: + '200': + $ref: '#/components/responses/transferSuccess' + '500': + $ref: '#/components/responses/transferServerError' + '504': + $ref: '#/components/responses/transferTimeout' + get: + summary: Retrieves information for a specific transfer + description: >- + The HTTP request `GET /transfers/{transferId}` is used to get + information regarding a transfer created or requested earlier. The + `{transferId}` in the URI should contain the `transferId` that was used + for the creation of the transfer. + tags: + - Transfers + parameters: + - $ref: '#/components/parameters/transferId' responses: '200': - description: sync response from POST /simpleTransfers - content: &ref_157 + description: Transfer information successfully retrieved + content: application/json: schema: - title: SimpleTransfersPostResponse - type: object - properties: &ref_140 - transfer: - properties: - body: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: *ref_20 - required: *ref_21 - headers: - type: object - required: - - body - - headers - currentState: - type: string - enum: *ref_69 - required: &ref_141 - - transfer - - currentState + $ref: '#/components/schemas/transferStatusResponse' '500': - description: An error occurred processing the simple transfers request - content: &ref_158 + description: An error occurred processing the transfer + content: application/json: schema: - allOf: &ref_142 - - type: object - properties: *ref_22 - - type: object + $ref: '#/components/schemas/errorResponse' components: schemas: - TransactionInitiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_52 - description: |- - Below are the allowed values for the enumeration. - - CONSUMER - Consumer is the initiator of the transaction. - - AGENT - Agent is the initiator of the transaction. - - BUSINESS - Business is the initiator of the transaction. - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER PartyIdType: title: PartyIdType type: string - enum: *ref_23 + enum: + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS description: >- Below are the allowed values for the enumeration. @@ -4317,6 +597,384 @@ components: description: >- Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + Currency: + title: Currency + description: >- + The currency codes defined in [ISO + 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter + alphabetic codes are used as the standard naming representation for + currencies. + type: string + minLength: 3 + maxLength: 3 + enum: + - AED + - AFN + - ALL + - AMD + - ANG + - AOA + - ARS + - AUD + - AWG + - AZN + - BAM + - BBD + - BDT + - BGN + - BHD + - BIF + - BMD + - BND + - BOB + - BRL + - BSD + - BTN + - BWP + - BYN + - BZD + - CAD + - CDF + - CHF + - CLP + - CNY + - COP + - CRC + - CUC + - CUP + - CVE + - CZK + - DJF + - DKK + - DOP + - DZD + - EGP + - ERN + - ETB + - EUR + - FJD + - FKP + - GBP + - GEL + - GGP + - GHS + - GIP + - GMD + - GNF + - GTQ + - GYD + - HKD + - HNL + - HRK + - HTG + - HUF + - IDR + - ILS + - IMP + - INR + - IQD + - IRR + - ISK + - JEP + - JMD + - JOD + - JPY + - KES + - KGS + - KHR + - KMF + - KPW + - KRW + - KWD + - KYD + - KZT + - LAK + - LBP + - LKR + - LRD + - LSL + - LYD + - MAD + - MDL + - MGA + - MKD + - MMK + - MNT + - MOP + - MRO + - MUR + - MVR + - MWK + - MXN + - MYR + - MZN + - NAD + - NGN + - NIO + - NOK + - NPR + - NZD + - OMR + - PAB + - PEN + - PGK + - PHP + - PKR + - PLN + - PYG + - QAR + - RON + - RSD + - RUB + - RWF + - SAR + - SBD + - SCR + - SDG + - SEK + - SGD + - SHP + - SLL + - SOS + - SPL + - SRD + - STD + - SVC + - SYP + - SZL + - THB + - TJS + - TMT + - TND + - TOP + - TRY + - TTD + - TVD + - TWD + - TZS + - UAH + - UGX + - USD + - UYU + - UZS + - VEF + - VND + - VUV + - WST + - XAF + - XCD + - XDR + - XOF + - XPF + - XTS + - XXX + - YER + - ZAR + - ZMW + - ZWD + accountsRequest: + type: array + items: + type: object + required: + - idType + - idValue + - currency + properties: + idType: + $ref: '#/components/schemas/PartyIdType' + idValue: + $ref: '#/components/schemas/PartyIdentifier' + idSubValue: + $ref: '#/components/schemas/PartySubIdOrType' + currency: + $ref: '#/components/schemas/Currency' + CorrelationId: + title: CorrelationId + type: string + pattern: >- + ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + description: >- + Identifier that correlates all messages of the same sequence. The API + data type UUID (Universally Unique Identifier) is a JSON String in + canonical format, conforming to [RFC + 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a + regular expression for interoperability reasons. A UUID is always 36 + characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + errorResponse: + type: object + properties: + statusCode: + type: string + description: Error code as string. + message: + type: string + description: Error message text. + accountCreationStatus: + type: array + items: + type: object + required: + - idType + - idValue + properties: + idType: + $ref: '#/components/schemas/PartyIdType' + idValue: + $ref: '#/components/schemas/PartyIdentifier' + idSubValue: + $ref: '#/components/schemas/PartySubIdOrType' + error: + $ref: '#/components/schemas/errorResponse' + accountsCreationState: + type: string + enum: + - ERROR_OCCURRED + - COMPLETED + ErrorCode: + title: ErrorCode + type: string + pattern: ^[1-9]\d{3}$ + description: >- + The API data type ErrorCode is a JSON String of four characters, + consisting of digits only. Negative numbers are not allowed. A leading + zero is not allowed. Each error code in the API is a four-digit number, + for example, 1234, where the first number (1 in the example) represents + the high-level error category, the second number (2 in the example) + represents the low-level error category, and the last two numbers (34 in + the example) represent the specific error. + example: '5100' + ErrorDescription: + title: ErrorDescription + type: string + minLength: 1 + maxLength: 128 + description: Error description string. + ExtensionKey: + title: ExtensionKey + type: string + minLength: 1 + maxLength: 32 + description: Extension key. + ExtensionValue: + title: ExtensionValue + type: string + minLength: 1 + maxLength: 128 + description: Extension value. + Extension: + title: Extension + type: object + description: Data model for the complex type Extension. + properties: + key: + $ref: '#/components/schemas/ExtensionKey' + value: + $ref: '#/components/schemas/ExtensionValue' + required: + - key + - value + ExtensionList: + title: ExtensionList + type: object + description: >- + Data model for the complex type ExtensionList. An optional list of + extensions, specific to deployment. + properties: + extension: + type: array + items: + $ref: '#/components/schemas/Extension' + minItems: 1 + maxItems: 16 + description: Number of Extension elements. + required: + - extension + ErrorInformation: + title: ErrorInformation + type: object + description: Data model for the complex type ErrorInformation. + properties: + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + $ref: '#/components/schemas/ErrorDescription' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - errorCode + - errorDescription + mojaloopError: + type: object + properties: + errorInformation: + $ref: '#/components/schemas/ErrorInformation' + transferError: + type: object + description: >- + This object represents a Mojaloop API error received at any time during + the transfer process + properties: + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the caller. This is the same as the + actual HTTP status code returned with the response. + mojaloopError: + description: >- + If a transfer process results in an error callback during the + asynchronous Mojaloop API exchange, this property will contain the + underlying Mojaloop API error object. + $ref: '#/components/schemas/mojaloopError' + accountsResponse: + type: object + required: + - accounts + properties: + modelId: + $ref: '#/components/schemas/CorrelationId' + accounts: + $ref: '#/components/schemas/accountsRequest' + response: + $ref: '#/components/schemas/accountCreationStatus' + currentState: + $ref: '#/components/schemas/accountsCreationState' + lastError: + $ref: '#/components/schemas/transferError' + postAccountsResponse: + type: object + required: + - body + properties: + body: + type: object + headers: + type: object + errorAccountsResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - executionState + properties: + executionState: + $ref: '#/components/schemas/accountsResponse' + TransactionInitiatorType: + title: TransactionInitiatorType + type: string + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE + description: |- + Below are the allowed values for the enumeration. + - CONSUMER - Consumer is the initiator of the transaction. + - AGENT - Agent is the initiator of the transaction. + - BUSINESS - Business is the initiator of the transaction. + - DEVICE - Device is the initiator of the transaction. + example: CONSUMER Name: title: Name type: string @@ -4387,37 +1045,48 @@ components: minLength: 1 maxLength: 32 description: FSP identifier. - ExtensionKey: - title: ExtensionKey - type: string - minLength: 1 - maxLength: 32 - description: Extension key. - ExtensionValue: - title: ExtensionValue - type: string - minLength: 1 - maxLength: 128 - description: Extension value. - Extension: - title: Extension - type: object - description: Data model for the complex type Extension. - properties: *ref_8 - required: *ref_9 extensionListEmptiable: type: array - items: *ref_2 + items: + $ref: '#/components/schemas/Extension' minItems: 0 maxItems: 16 transferParty: type: object - required: *ref_0 - properties: *ref_1 + required: + - idType + - idValue + properties: + type: + $ref: '#/components/schemas/TransactionInitiatorType' + idType: + $ref: '#/components/schemas/PartyIdType' + idValue: + $ref: '#/components/schemas/PartyIdentifier' + idSubValue: + $ref: '#/components/schemas/PartySubIdOrType' + displayName: + $ref: '#/components/schemas/Name' + firstName: + $ref: '#/components/schemas/FirstName' + middleName: + $ref: '#/components/schemas/MiddleName' + lastName: + $ref: '#/components/schemas/LastName' + dateOfBirth: + $ref: '#/components/schemas/DateOfBirth' + merchantClassificationCode: + $ref: '#/components/schemas/MerchantClassificationCode' + fspId: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/extensionListEmptiable' AmountType: title: AmountType type: string - enum: *ref_3 + enum: + - SEND + - RECEIVE description: >- Below are the allowed values for the enumeration AmountType. @@ -4427,17 +1096,6 @@ components: - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. example: RECEIVE - Currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter - alphabetic codes are used as the standard naming representation for - currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 Amount: title: Amount type: string @@ -4453,8 +1111,17 @@ components: transferTransactionType: title: transferTransactionType type: string - enum: *ref_5 + enum: + - TRANSFER description: Type of transaction. + TransactionSubScenario: + title: TransactionSubScenario + type: string + pattern: ^[A-Z_]{1,32}$ + description: >- + Possible sub-scenario, defined locally within the scheme (UndefinedEnum + Type). + example: LOCALLY_DEFINED_SUBSCENARIO Note: title: Note type: string @@ -4462,32 +1129,61 @@ components: maxLength: 128 description: Memo assigned to transaction. example: Note sent to Payee. - transferRequest: + individualQuote: + title: IndividualQuote type: object - required: *ref_70 - properties: *ref_71 - CorrelationId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The API - data type UUID (Universally Unique Identifier) is a JSON String in - canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a - regular expression for interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transferStatus: - type: string - enum: *ref_19 - Money: - title: Money + description: Data model for the complex type 'individualQuote'. + properties: + quoteId: + $ref: '#/components/schemas/CorrelationId' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + transactionType: + $ref: '#/components/schemas/transferTransactionType' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + note: + $ref: '#/components/schemas/Note' + extensions: + $ref: '#/components/schemas/ExtensionList' + required: + - quoteId + - to + - amountType + - currency + - transactionType + - amount + bulkQuoteRequest: type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 + required: + - homeTransactionId + - from + - individualQuotes + properties: + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + bulkQuoteId: + $ref: '#/components/schemas/CorrelationId' + from: + $ref: '#/components/schemas/transferParty' + individualQuotes: + description: List of individual quotes in a bulk quote. + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/individualQuote' + extensions: + $ref: '#/components/schemas/ExtensionList' DateTime: title: DateTime type: string @@ -4503,6 +1199,23 @@ components: "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). example: '2016-05-24T08:38:08.699-04:00' + bulkTransferStatus: + type: string + enum: + - ERROR_OCCURRED + - COMPLETED + Money: + title: Money + type: object + description: Data model for the complex type Money. + properties: + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + required: + - currency + - amount Latitude: title: Latitude type: string @@ -4527,8 +1240,14 @@ components: description: >- Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - properties: *ref_44 - required: *ref_45 + properties: + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + required: + - latitude + - longitude IlpPacket: title: IlpPacket type: string @@ -4544,128 +1263,208 @@ components: pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Condition that must be attached to the transfer by the Payer. - ExtensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional list of - extensions, specific to deployment. - properties: *ref_10 - required: *ref_11 - QuotesIDPutResponse: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: *ref_56 - required: *ref_57 - IlpFulfilment: - title: IlpFulfilment - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: Fulfilment that must be attached to the transfer by the Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - TransferState: - title: TransferState - type: string - enum: *ref_27 - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Next ledger has received the transfer. - - - RESERVED - Next ledger has reserved the transfer. - - - COMMITTED - Next ledger has successfully performed the transfer. - - - ABORTED - Next ledger has aborted the transfer due to a rejection or - failure to perform the transfer. - example: RESERVED - TransfersIDPutResponse: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: *ref_20 - required: *ref_21 - ErrorCode: - title: ErrorCode - type: string - pattern: ^[1-9]\d{3}$ - description: >- - The API data type ErrorCode is a JSON String of four characters, - consisting of digits only. Negative numbers are not allowed. A leading - zero is not allowed. Each error code in the API is a four-digit number, - for example, 1234, where the first number (1 in the example) represents - the high-level error category, the second number (2 in the example) - represents the low-level error category, and the last two numbers (34 in - the example) represent the specific error. - example: '5100' - ErrorDescription: - title: ErrorDescription - type: string - minLength: 1 - maxLength: 128 - description: Error description string. - ErrorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: *ref_63 - required: *ref_64 - mojaloopError: - type: object - properties: *ref_36 - transferError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the transfer process - properties: *ref_26 - transferResponse: - type: object - required: *ref_12 - properties: *ref_13 - errorResponse: + quoteError: type: object - properties: *ref_22 - errorTransferResponse: - allOf: *ref_14 - transferStatusResponse: + description: >- + This object represents a Mojaloop API error received at any time during + the quote process + properties: + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the caller. This is the same as the + actual HTTP status code returned with the response. + mojaloopError: + description: >- + If a quote process results in an error callback during the + asynchronous Mojaloop API exchange, this property will contain the + underlying Mojaloop API error object. + $ref: '#/components/schemas/mojaloopError' + individualQuoteResult: type: object - required: *ref_72 - properties: *ref_73 - transferContinuationAcceptParty: + properties: + quoteId: + $ref: '#/components/schemas/CorrelationId' + transferAmount: + $ref: '#/components/schemas/Money' + payeeReceiveAmount: + $ref: '#/components/schemas/Money' + payeeFspFee: + $ref: '#/components/schemas/Money' + payeeFspCommission: + $ref: '#/components/schemas/Money' + geoCode: + $ref: '#/components/schemas/GeoCode' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + extensionList: + $ref: '#/components/schemas/ExtensionList' + description: Optional extension, specific to deployment. + lastError: + description: > + Object representing the last error to occur during a quote process. + This may be a Mojaloop API error returned from another entity in the + scheme or an object representing other types of error e.g. + exceptions that may occur inside the scheme adapter. + $ref: '#/components/schemas/quoteError' + required: + - quoteId + - transferAmount + - ilpPacket + - condition + bulkQuoteResponse: type: object - required: *ref_28 - properties: *ref_29 - transferContinuationAcceptQuote: + required: + - bulkQuoteId + - individualQuoteResults + - currentState + - expiration + properties: + bulkQuoteId: + $ref: '#/components/schemas/CorrelationId' + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + expiration: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + currentState: + $ref: '#/components/schemas/bulkTransferStatus' + individualQuoteResults: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/individualQuoteResult' + description: List of individualQuoteResults in a bulk transfer response. + bulkQuoteErrorResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - bulkQuoteState + properties: + bulkQuoteState: + $ref: '#/components/schemas/bulkQuoteResponse' + bulkQuoteStatus: + type: string + enum: + - ERROR_OCCURRED + - COMPLETED + bulkQuoteStatusResponse: type: object - required: *ref_32 - properties: *ref_33 + required: + - bulkQuoteId + - currentState + - individualQuotes + properties: + bulkQuoteId: + $ref: '#/components/schemas/CorrelationId' + currentState: + $ref: '#/components/schemas/bulkQuoteStatus' + individualQuotes: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/individualQuote' autoAcceptPartyOption: type: object - required: *ref_74 - properties: *ref_75 + required: + - enabled + properties: + enabled: + type: boolean + enum: + - false + - true bulkPerTransferFeeLimit: type: object - required: *ref_76 - properties: *ref_77 + required: + - currency + - amount + properties: + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' autoAcceptQuote: type: object - required: *ref_78 - properties: *ref_79 + required: + - enabled + properties: + enabled: + type: boolean + enum: + - true + - false + perTransferFeeLimits: + type: array + minItems: 0 + items: + $ref: '#/components/schemas/bulkPerTransferFeeLimit' bulkTransactionOptions: type: object - required: *ref_80 - properties: *ref_81 + required: + - autoAcceptParty + - autoAcceptQuote + - bulkExpiration + properties: + onlyValidateParty: + description: >- + Set to true if only party validation is required. This means the + quotes and transfers will not run. This is useful for only party + resolution. + type: boolean + autoAcceptParty: + $ref: '#/components/schemas/autoAcceptPartyOption' + autoAcceptQuote: + description: >- + Set to true if the quote response is accepted without confirmation + from the payer. The fees applied by the payee will be acceptable to + the payer abiding by the limits set by optional + 'perTransferFeeLimits' array. + type: object + oneOf: + - $ref: '#/components/schemas/autoAcceptQuote' + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and no party + resolution is needed. This may be useful if a previous party + resolution has been performed. + type: boolean + synchronous: + description: >- + Set to true if the bulkTransfer requests need be handled + synchronous. Otherwise the requests will be handled asynchronously, + meaning there will be callbacks whenever the processing is done + type: boolean + bulkExpiration: + $ref: '#/components/schemas/DateTime' PartyIdInfo: title: PartyIdInfo type: object description: >- Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - properties: *ref_82 - required: *ref_83 + properties: + partyIdType: + $ref: '#/components/schemas/PartyIdType' + partyIdentifier: + $ref: '#/components/schemas/PartyIdentifier' + partySubIdOrType: + $ref: '#/components/schemas/PartySubIdOrType' + fspId: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - partyIdType + - partyIdentifier PartyName: title: PartyName type: string @@ -4676,127 +1475,414 @@ components: title: PartyComplexName type: object description: Data model for the complex type PartyComplexName. - properties: *ref_84 + properties: + firstName: + $ref: '#/components/schemas/FirstName' + middleName: + $ref: '#/components/schemas/MiddleName' + lastName: + $ref: '#/components/schemas/LastName' PartyPersonalInfo: title: PartyPersonalInfo type: object description: Data model for the complex type PartyPersonalInfo. - properties: *ref_85 + properties: + complexName: + $ref: '#/components/schemas/PartyComplexName' + dateOfBirth: + $ref: '#/components/schemas/DateOfBirth' Party: title: Party type: object description: Data model for the complex type Party. - properties: *ref_24 - required: *ref_25 + properties: + partyIdInfo: + $ref: '#/components/schemas/PartyIdInfo' + merchantClassificationCode: + $ref: '#/components/schemas/MerchantClassificationCode' + name: + $ref: '#/components/schemas/PartyName' + personalInfo: + $ref: '#/components/schemas/PartyPersonalInfo' + required: + - partyIdInfo bulkTransactionIndividualTransfer: title: BulkTransactionIndividualTransfer type: object description: Data model for the complex type 'bulkTransactionIndividualTransfer'. - properties: *ref_86 - required: *ref_87 + properties: + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + to: + $ref: '#/components/schemas/Party' + reference: + description: Payer Loan reference + type: string + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + note: + $ref: '#/components/schemas/Note' + quoteExtensions: + $ref: '#/components/schemas/ExtensionList' + transferExtensions: + $ref: '#/components/schemas/ExtensionList' + lastError: + $ref: '#/components/schemas/transferError' + required: + - homeTransactionId + - to + - amountType + - currency + - amount bulkTransactionRequest: type: object - required: *ref_88 - properties: *ref_89 - bulkTransferStatus: + required: + - bulkTransactionId + - bulkHomeTransactionID + - options + - from + - individualTransfers + properties: + bulkHomeTransactionID: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + bulkTransactionId: + $ref: '#/components/schemas/CorrelationId' + options: + $ref: '#/components/schemas/bulkTransactionOptions' + from: + $ref: '#/components/schemas/Party' + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/bulkTransactionIndividualTransfer' + extensions: + $ref: '#/components/schemas/ExtensionList' + TransferState: + title: TransferState + type: string + enum: + - RECEIVED + - RESERVED + - COMMITTED + - ABORTED + description: >- + Below are the allowed values for the enumeration. + + - RECEIVED - Next ledger has received the transfer. + + - RESERVED - Next ledger has reserved the transfer. + + - COMMITTED - Next ledger has successfully performed the transfer. + + - ABORTED - Next ledger has aborted the transfer due to a rejection or + failure to perform the transfer. + example: RESERVED + IlpFulfilment: + title: IlpFulfilment type: string - enum: *ref_43 + pattern: ^[A-Za-z0-9-_]{43}$ + maxLength: 48 + description: Fulfilment that must be attached to the transfer by the Payee. + example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 individualTransferResult: type: object - required: *ref_90 - properties: *ref_91 + required: + - transferId + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + description: > + Fulfilment of the condition specified with the transaction. + Mandatory if transfer has completed successfully. + extensionList: + $ref: '#/components/schemas/ExtensionList' + description: Optional extension, specific to deployment. + lastError: + $ref: '#/components/schemas/transferError' bulkTransferResponse: type: object - required: *ref_39 - properties: *ref_40 + required: + - bulkTransferId + - individualTransferResults + - currentState + properties: + bulkTransferId: + $ref: '#/components/schemas/CorrelationId' + bulkQuoteId: + $ref: '#/components/schemas/CorrelationId' + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + bulkTransferState: + $ref: '#/components/schemas/TransferState' + completedTimestamp: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + currentState: + $ref: '#/components/schemas/bulkTransferStatus' + individualTransferResults: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/individualTransferResult' + description: List of individual transfer result in a bulk transfer response. bulkTransferErrorResponse: - allOf: *ref_92 + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - bulkTransferState + properties: + bulkTransferState: + $ref: '#/components/schemas/bulkTransferResponse' bulkTransactionIndividualTransferAccept: type: object description: Data model for the 'individualTransfer' while accepting party or quote. - properties: *ref_30 - required: *ref_31 + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + required: + - transferId + transferContinuationAcceptParty: + type: object + required: + - acceptParty + properties: + acceptParty: + type: boolean + enum: + - true + - false bulkTransactionContinuationAcceptParty: description: >- The object sent back as confirmation of payee parties when autoAcceptParty is false. type: object - required: *ref_34 - properties: *ref_35 + required: + - individualTransfers + properties: + individualTransfers: + description: >- + List of individual transfers in a bulk transfer with accept party + information. + type: array + minItems: 1 + items: + allOf: + - $ref: '#/components/schemas/bulkTransactionIndividualTransferAccept' + - $ref: '#/components/schemas/transferContinuationAcceptParty' + transferContinuationAcceptQuote: + type: object + required: + - acceptQuote + properties: + acceptQuote: + type: boolean + enum: + - true + - false bulkTransactionContinuationAcceptQuote: description: >- The object sent back as confirmation of quotes when autoAcceptQuotes is false. type: object - required: *ref_37 - properties: *ref_38 + required: + - individualTransfers + properties: + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + items: + allOf: + - $ref: '#/components/schemas/bulkTransactionIndividualTransferAccept' + - $ref: '#/components/schemas/transferContinuationAcceptQuote' partyError: type: object description: >- This object represents a Mojaloop API error received at any time during the party discovery process - properties: *ref_93 + properties: + httpStatusCode: + type: integer + description: >- + The HTTP status code returned to the caller. This is the same as the + actual HTTP status code returned with the response. + mojaloopError: + description: >- + If a transfer process results in an error callback during the + asynchronous Mojaloop API exchange, this property will contain the + underlying Mojaloop API error object. + $ref: '#/components/schemas/mojaloopError' bulkTransactionAcceptPartyErrorResponse: - allOf: *ref_94 - quoteError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the quote process - properties: *ref_46 + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - bulkTransferState + properties: + bulkTransferState: + allOf: + - $ref: '#/components/schemas/bulkTransactionContinuationAcceptParty' + - $ref: '#/components/schemas/partyError' bulkTransactionAcceptQuoteErrorResponse: - allOf: *ref_95 + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - bulkTansferState + properties: + bulkTransferState: + allOf: + - $ref: '#/components/schemas/bulkTransactionContinuationAcceptQuote' + - $ref: '#/components/schemas/quoteError' individualTransfer: title: IndividualTransfer type: object description: Data model for the complex type 'individualTransfer'. - properties: *ref_96 - required: *ref_97 + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + transactionType: + $ref: '#/components/schemas/transferTransactionType' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + note: + $ref: '#/components/schemas/Note' + extensions: + $ref: '#/components/schemas/ExtensionList' + required: + - transferId + - to + - amountType + - currency + - amount + - ilpPacket + - condition bulkTransferRequest: type: object - required: *ref_98 - properties: *ref_99 + required: + - bulkTransferId + - homeTransactionId + - bulkQuoteId + - from + - individualTransfers + properties: + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + bulkTransferId: + $ref: '#/components/schemas/CorrelationId' + bulkQuoteId: + $ref: '#/components/schemas/CorrelationId' + from: + $ref: '#/components/schemas/transferParty' + individualTransfers: + description: List of individual transfers in a bulk transfer. + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/individualTransfer' + extensions: + $ref: '#/components/schemas/ExtensionList' individualTransferFulfilment: type: object description: >- A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer - properties: *ref_100 + properties: + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + description: > + Fulfilment of the condition specified with the transaction. + Mandatory if transfer has completed successfully. + extensionList: + $ref: '#/components/schemas/ExtensionList' + description: Optional extension, specific to deployment. bulkTransferStatusResponse: type: object - required: *ref_101 - properties: *ref_102 - individualQuote: - title: IndividualQuote - type: object - description: Data model for the complex type 'individualQuote'. - properties: *ref_50 - required: *ref_51 - bulkQuoteRequest: - type: object - required: *ref_103 - properties: *ref_104 - individualQuoteResult: - type: object - properties: *ref_105 - required: *ref_106 - bulkQuoteResponse: - type: object - required: *ref_47 - properties: *ref_48 - bulkQuoteErrorResponse: - allOf: *ref_49 - bulkQuoteStatus: + required: + - bulkTransferId + - currentState + - fulfils + properties: + bulkTransferId: + $ref: '#/components/schemas/CorrelationId' + currentState: + $ref: '#/components/schemas/bulkTransferStatus' + fulfils: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/individualTransferFulfilment' + async2SyncCurrentState: type: string - enum: *ref_107 - bulkQuoteStatusResponse: + enum: + - WAITING_FOR_ACTION + - COMPLETED + - ERROR_OCCURRED + partiesByIdResponse: + title: partiesByIdResponse type: object - required: *ref_108 - properties: *ref_109 + description: GET /parties/{Type}/{ID} response object + properties: + party: + properties: + body: + $ref: '#/components/schemas/Party' + description: Information regarding the requested Party. + headers: + type: object + required: + - body + - headers + currentState: + $ref: '#/components/schemas/async2SyncCurrentState' + required: + - party + - currentState TransactionScenario: title: TransactionScenario type: string - enum: *ref_110 + enum: + - DEPOSIT + - WITHDRAWAL + - TRANSFER + - PAYMENT + - REFUND description: >- Below are the allowed values for the enumeration. @@ -4821,18 +1907,12 @@ components: - REFUND - Used for performing a refund of transaction. example: DEPOSIT - TransactionSubScenario: - title: TransactionSubScenario - type: string - pattern: ^[A-Z_]{1,32}$ - description: >- - Possible sub-scenario, defined locally within the scheme (UndefinedEnum - Type). - example: LOCALLY_DEFINED_SUBSCENARIO TransactionInitiator: title: TransactionInitiator type: string - enum: *ref_53 + enum: + - PAYER + - PAYEE description: >- Below are the allowed values for the enumeration. @@ -4856,8 +1936,13 @@ components: title: Refund type: object description: Data model for the complex type Refund. - properties: *ref_111 - required: *ref_112 + properties: + originalTransactionId: + $ref: '#/components/schemas/CorrelationId' + refundReason: + $ref: '#/components/schemas/RefundReason' + required: + - originalTransactionId BalanceOfPayments: title: BalanceOfPayments type: string @@ -4872,16 +1957,168 @@ components: title: TransactionType type: object description: Data model for the complex type TransactionType. - properties: *ref_54 - required: *ref_55 + properties: + scenario: + $ref: '#/components/schemas/TransactionScenario' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + initiator: + $ref: '#/components/schemas/TransactionInitiator' + initiatorType: + $ref: '#/components/schemas/TransactionInitiatorType' + refundInfo: + $ref: '#/components/schemas/Refund' + balanceOfPayments: + $ref: '#/components/schemas/BalanceOfPayments' + required: + - scenario + - initiator + - initiatorType + QuotesPostRequest: + title: QuotesPostRequest + type: object + description: The object sent in the POST /quotes request. + properties: + quoteId: + $ref: '#/components/schemas/CorrelationId' + transactionId: + $ref: '#/components/schemas/CorrelationId' + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + payee: + $ref: '#/components/schemas/Party' + payer: + $ref: '#/components/schemas/Party' + amountType: + $ref: '#/components/schemas/AmountType' + amount: + $ref: '#/components/schemas/Money' + fees: + $ref: '#/components/schemas/Money' + transactionType: + $ref: '#/components/schemas/TransactionType' + geoCode: + $ref: '#/components/schemas/GeoCode' + note: + $ref: '#/components/schemas/Note' + expiration: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - quoteId + - transactionId + - payee + - payer + - amountType + - amount + - transactionType + simpleQuotesPostRequest: + title: simpleQuotesPostRequest + type: object + properties: + fspId: + title: destination DFSP requested to calculate the quote + $ref: '#/components/schemas/FspId' + quotesPostRequest: + $ref: '#/components/schemas/QuotesPostRequest' + required: + - fspId + - quotesPostRequest + quotesPostResponse: + title: QuotesPostResponse + type: object + properties: + quotes: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: + body: + type: object + properties: + transferAmount: + $ref: '#/components/schemas/Money' + payeeReceiveAmount: + $ref: '#/components/schemas/Money' + payeeFspFee: + $ref: '#/components/schemas/Money' + payeeFspCommission: + $ref: '#/components/schemas/Money' + expiration: + type: string + description: >- + Date and time until when the quotation is valid and can be + honored when used in the subsequent transaction. + example: '2016-05-24T08:38:08.699-04:00' + geoCode: + $ref: '#/components/schemas/GeoCode' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferAmount + - expiration + - ilpPacket + - condition + headers: + type: object + required: + - body + - headers + currentState: + $ref: '#/components/schemas/async2SyncCurrentState' + required: + - quotes + - currentState + errorQuotesResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object requestToPayRequest: type: object - required: *ref_113 - properties: *ref_114 + required: + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - scenario + - initiator + - initiatorType + properties: + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + scenario: + $ref: '#/components/schemas/TransactionType' + initiator: + $ref: '#/components/schemas/TransactionInitiator' + initiatorType: + $ref: '#/components/schemas/TransactionInitiatorType' AuthenticationType: title: AuthenticationType type: string - enum: *ref_115 + enum: + - OTP + - QRCODE + - U2F description: |- Below are the allowed values for the enumeration AuthenticationType. - OTP - One-time password generated by the Payer FSP. @@ -4891,7 +2128,11 @@ components: TransactionRequestState: title: TransactionRequestState type: string - enum: *ref_116 + enum: + - RECEIVED + - PENDING + - ACCEPTED + - REJECTED description: |- Below are the allowed values for the enumeration. - RECEIVED - Payer FSP has received the transaction from the Payee FSP. @@ -4901,169 +2142,574 @@ components: example: RECEIVED requestToPayResponse: type: object - required: *ref_117 - properties: *ref_118 + required: + - transactionRequestId + - from + - to + - amountType + - currency + - amount + - transactionType + - requestToPayState + properties: + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + scenario: + $ref: '#/components/schemas/TransactionType' + initiator: + $ref: '#/components/schemas/TransactionInitiator' + initiatorType: + $ref: '#/components/schemas/TransactionInitiatorType' + authenticationType: + $ref: '#/components/schemas/AuthenticationType' + requestToPayState: + $ref: '#/components/schemas/TransactionRequestState' requestToPayTransferRequest: type: object - required: *ref_119 - properties: *ref_120 - requestToPayTransferResponse: - type: object - required: *ref_121 - properties: *ref_122 - transferContinuationAcceptOTP: - type: object - required: *ref_123 - properties: *ref_124 - accountsRequest: - type: array - items: *ref_58 - accountCreationStatus: - type: array - items: *ref_125 - accountsCreationState: + required: + - requestToPayTransactionId + - from + - to + - amountType + - currency + - amount + - scenario + - initiator + - initiatorType + properties: + requestToPayTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + scenario: + $ref: '#/components/schemas/TransactionType' + initiator: + $ref: '#/components/schemas/TransactionInitiator' + initiatorType: + $ref: '#/components/schemas/TransactionInitiatorType' + note: + $ref: '#/components/schemas/Note' + transferStatus: type: string - enum: *ref_126 - accountsResponse: + enum: + - ERROR_OCCURRED + - WAITING_FOR_PARTY_ACCEPTANCE + - WAITING_FOR_QUOTE_ACCEPTANCE + - COMPLETED + QuotesIDPutResponse: + title: QuotesIDPutResponse type: object - required: *ref_59 - properties: *ref_60 - errorAccountsResponse: - allOf: *ref_62 - async2SyncCurrentState: - type: string - enum: *ref_69 - partiesByIdResponse: - title: partiesByIdResponse + description: The object sent in the PUT /quotes/{ID} callback. + properties: + transferAmount: + $ref: '#/components/schemas/Money' + payeeReceiveAmount: + $ref: '#/components/schemas/Money' + payeeFspFee: + $ref: '#/components/schemas/Money' + payeeFspCommission: + $ref: '#/components/schemas/Money' + expiration: + $ref: '#/components/schemas/DateTime' + geoCode: + $ref: '#/components/schemas/GeoCode' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferAmount + - expiration + - ilpPacket + - condition + TransfersIDPutResponse: + title: TransfersIDPutResponse type: object - description: GET /parties/{Type}/{ID} response object - properties: *ref_127 - required: *ref_128 - QuotesPostRequest: - title: QuotesPostRequest + description: The object sent in the PUT /transfers/{ID} callback. + properties: + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + completedTimestamp: + $ref: '#/components/schemas/DateTime' + transferState: + $ref: '#/components/schemas/TransferState' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferState + requestToPayTransferResponse: type: object - description: The object sent in the POST /quotes request. - properties: *ref_129 - required: *ref_130 - simpleQuotesPostRequest: - title: simpleQuotesPostRequest + required: + - requestToPayTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + requestToPayTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + transactionType: + $ref: '#/components/schemas/transferTransactionType' + note: + $ref: '#/components/schemas/Note' + currentState: + $ref: '#/components/schemas/transferStatus' + quoteId: + $ref: '#/components/schemas/CorrelationId' + quoteResponse: + $ref: '#/components/schemas/QuotesIDPutResponse' + quoteResponseSource: + type: string + description: > + FSPID of the entity that supplied the quote response. This may not + be the same as the FSPID of the entity which owns the end user + account in the case of a FOREX transfer. i.e. it may be a FOREX + gateway. + fulfil: + $ref: '#/components/schemas/TransfersIDPutResponse' + lastError: + description: > + Object representing the last error to occur during a transfer + process. This may be a Mojaloop API error returned from another + entity in the scheme or an object representing other types of error + e.g. exceptions that may occur inside the scheme adapter. + $ref: '#/components/schemas/transferError' + transferResponse: type: object - properties: *ref_131 - required: *ref_132 - quotesPostResponse: - title: QuotesPostResponse + required: + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + transactionType: + $ref: '#/components/schemas/transferTransactionType' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + note: + $ref: '#/components/schemas/Note' + currentState: + $ref: '#/components/schemas/transferStatus' + quoteId: + $ref: '#/components/schemas/CorrelationId' + getPartiesResponse: + type: object + required: + - body + properties: + body: + type: object + headers: + type: object + quoteResponse: + type: object + required: + - body + properties: + body: + $ref: '#/components/schemas/QuotesIDPutResponse' + headers: + type: object + quoteResponseSource: + type: string + description: > + FSPID of the entity that supplied the quote response. This may not + be the same as the FSPID of the entity which owns the end user + account in the case of a FOREX transfer. i.e. it may be a FOREX + gateway. + fulfil: + type: object + required: + - body + properties: + body: + $ref: '#/components/schemas/TransfersIDPutResponse' + headers: + type: object + lastError: + description: > + Object representing the last error to occur during a transfer + process. This may be a Mojaloop API error returned from another + entity in the scheme or an object representing other types of error + e.g. exceptions that may occur inside the scheme adapter. + $ref: '#/components/schemas/transferError' + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and no party + resolution is needed. This may be useful is a previous party + resolution has been performed. + type: boolean + errorTransferResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - transferState + properties: + transferState: + $ref: '#/components/schemas/transferResponse' + transferContinuationAcceptOTP: type: object - properties: *ref_133 - required: *ref_134 - errorQuotesResponse: - allOf: *ref_135 + required: + - acceptOTP + properties: + acceptOTP: + type: boolean + enum: + - true + - false TransfersPostRequest: title: TransfersPostRequest type: object description: The object sent in the POST /transfers request. - properties: *ref_136 - required: *ref_137 + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + payeeFsp: + $ref: '#/components/schemas/FspId' + payerFsp: + $ref: '#/components/schemas/FspId' + amount: + $ref: '#/components/schemas/Money' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + expiration: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferId + - payeeFsp + - payerFsp + - amount + - ilpPacket + - condition + - expiration simpleTransfersPostRequest: title: SimpleTransfersPostRequest type: object - properties: *ref_138 - required: *ref_139 + properties: + fspId: + $ref: '#/components/schemas/FspId' + transfersPostRequest: + $ref: '#/components/schemas/TransfersPostRequest' + required: + - fspId + - transfersPostRequest simpleTransfersPostResponse: title: SimpleTransfersPostResponse type: object - properties: *ref_140 - required: *ref_141 + properties: + transfer: + properties: + body: + $ref: '#/components/schemas/TransfersIDPutResponse' + headers: + type: object + required: + - body + - headers + currentState: + $ref: '#/components/schemas/async2SyncCurrentState' + required: + - transfer + - currentState errorSimpleTransfersResponse: - allOf: *ref_142 + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + transferRequest: + type: object + required: + - homeTransactionId + - from + - to + - amountType + - currency + - amount + - transactionType + properties: + homeTransactionId: + type: string + description: >- + Transaction ID from the DFSP backend, used to reconcile transactions + between the Switch and DFSP backend systems. + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/AmountType' + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + transactionType: + $ref: '#/components/schemas/transferTransactionType' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + note: + $ref: '#/components/schemas/Note' + quoteRequestExtensions: + $ref: '#/components/schemas/extensionListEmptiable' + transferRequestExtensions: + $ref: '#/components/schemas/extensionListEmptiable' + skipPartyLookup: + description: >- + Set to true if supplying an FSPID for the payee party and no party + resolution is needed. This may be useful is a previous party + resolution has been performed. + type: boolean + transferStatusResponse: + type: object + required: + - transferId + - currentState + - fulfil + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + currentState: + $ref: '#/components/schemas/transferStatus' + fulfil: + type: object + required: + - body + properties: + body: + $ref: '#/components/schemas/TransfersIDPutResponse' + headers: + type: object responses: - transferSuccess: - description: Transfer completed successfully - content: *ref_15 - transferBadRequest: + accountsCreationCompleted: + description: Accounts creation completed + content: + application/json: + schema: + $ref: '#/components/schemas/accountsResponse' + accountsCreationError: + description: An error occurred creating accounts + content: + application/json: + schema: + $ref: '#/components/schemas/errorAccountsResponse' + accountsCreationTimeout: + description: Timeout occurred creating accounts + content: + application/json: + schema: + $ref: '#/components/schemas/errorAccountsResponse' + bulkQuoteSuccess: + description: Bulk quote completed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteResponse' + bulkQuoteBadRequest: description: Malformed or missing required body, headers or parameters - content: *ref_143 - transferServerError: - description: An error occurred processing the transfer - content: *ref_16 - transferTimeout: - description: Timeout occurred processing the transfer - content: *ref_17 + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteErrorResponse' + bulkQuoteServerError: + description: An error occurred processing the bulk quote + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteErrorResponse' + bulkQuoteTimeout: + description: Timeout occurred processing the bulk quote + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteErrorResponse' bulkTransactionAccepted: description: Bulk transfer accepted successfully bulkTransferBadRequest: description: Malformed or missing required body, headers or parameters - content: *ref_41 + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferErrorResponse' errorResponse: description: Internal Server Error - content: *ref_42 + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' bulkTransactionPutBadRequest: description: Malformed or missing required body, headers or parameters - content: *ref_144 + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/bulkTransactionAcceptPartyErrorResponse' + - $ref: '#/components/schemas/bulkTransactionAcceptQuoteErrorResponse' bulkTransferSuccess: description: Bulk transfer completed successfully - content: *ref_145 - bulkQuoteSuccess: - description: Bulk quote completed successfully - content: *ref_146 - bulkQuoteBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_147 - bulkQuoteServerError: - description: An error occurred processing the bulk quote - content: *ref_148 - bulkQuoteTimeout: - description: Timeout occurred processing the bulk quote - content: *ref_149 - requestToPaySuccess: - description: Request to Pay completed successfully - content: *ref_150 - requestToPayTransferSuccess: - description: Transfer completed successfully - content: *ref_151 - requestToPayTransferBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_152 - accountsCreationCompleted: - description: Accounts creation completed - content: *ref_153 - accountsCreationError: - description: An error occurred creating accounts - content: *ref_61 - accountsCreationTimeout: - description: Timeout occurred creating accounts - content: *ref_154 + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferResponse' partiesByIdSuccess: description: PartiesByIdSuccess - content: *ref_67 + content: + application/json: + schema: + $ref: '#/components/schemas/partiesByIdResponse' partiesByIdError404: description: PartiesByIdError404 - content: *ref_68 + content: + application/json: + schema: + type: object + properties: + errorInformation: + $ref: '#/components/schemas/ErrorInformation' quotesPostSuccess: description: sync response from POST /quotes - content: *ref_155 + content: + application/json: + schema: + $ref: '#/components/schemas/quotesPostResponse' quotesServerError: description: An error occurred processing the quotes request - content: *ref_156 + content: + application/json: + schema: + $ref: '#/components/schemas/errorQuotesResponse' + requestToPaySuccess: + description: Request to Pay completed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/requestToPayResponse' + requestToPayTransferSuccess: + description: Transfer completed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/requestToPayTransferResponse' + requestToPayTransferBadRequest: + description: Malformed or missing required body, headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorTransferResponse' + transferServerError: + description: An error occurred processing the transfer + content: + application/json: + schema: + $ref: '#/components/schemas/errorTransferResponse' + transferTimeout: + description: Timeout occurred processing the transfer + content: + application/json: + schema: + $ref: '#/components/schemas/errorTransferResponse' + transferSuccess: + description: Transfer completed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/transferResponse' simpleTransfersPostSuccess: description: sync response from POST /simpleTransfers - content: *ref_157 + content: + application/json: + schema: + $ref: '#/components/schemas/simpleTransfersPostResponse' simpleTransfersServerError: description: An error occurred processing the simple transfers request - content: *ref_158 + content: + application/json: + schema: + $ref: '#/components/schemas/errorSimpleTransfersResponse' + transferBadRequest: + description: Malformed or missing required body, headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorTransferResponse' parameters: - transferId: - name: transferId + bulkQuoteId: + name: bulkQuoteId in: path required: true - schema: *ref_18 + schema: + $ref: '#/components/schemas/CorrelationId' description: >- - Identifier of the transfer to continue as returned in the response to a - `POST /transfers` request. + Identifier of the bulk transfer to continue as returned in the response + to a `POST /bulkTransfers` request. bulkTransactionId: name: bulkTransactionId in: path required: true - schema: *ref_159 + schema: + $ref: '#/components/schemas/CorrelationId' description: >- Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. @@ -5071,43 +2717,49 @@ components: name: bulkTransferId in: path required: true - schema: *ref_160 - description: >- - Identifier of the bulk transfer to continue as returned in the response - to a `POST /bulkTransfers` request. - bulkQuoteId: - name: bulkQuoteId - in: path - required: true - schema: *ref_161 + schema: + $ref: '#/components/schemas/CorrelationId' description: >- Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. - requestToPayTransactionId: - name: requestToPayTransactionId - in: path - required: true - schema: *ref_162 - description: >- - Identifier of the merchant request to pay transfer to continue as - returned in the response to a `POST /requestToPayTransfer` request. Type: name: Type in: path required: true - schema: *ref_65 + schema: + type: string description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ID: name: ID in: path required: true - schema: *ref_66 + schema: + type: string description: The identifier value. SubId: name: SubId in: path required: true - schema: *ref_163 + schema: + type: string description: >- A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. + requestToPayTransactionId: + name: requestToPayTransactionId + in: path + required: true + schema: + $ref: '#/components/schemas/CorrelationId' + description: >- + Identifier of the merchant request to pay transfer to continue as + returned in the response to a `POST /requestToPayTransfer` request. + transferId: + name: transferId + in: path + required: true + schema: + $ref: '#/components/schemas/CorrelationId' + description: >- + Identifier of the transfer to continue as returned in the response to a + `POST /transfers` request. diff --git a/docs/thirdparty-openapi3-snippets.yaml b/docs/thirdparty-openapi3-snippets.yaml index e86dc03d..cc1945a1 100644 --- a/docs/thirdparty-openapi3-snippets.yaml +++ b/docs/thirdparty-openapi3-snippets.yaml @@ -29,1306 +29,36 @@ paths: application/json: schema: oneOf: - - title: ParticipantsIDPutResponse - type: object - description: The object sent in the PUT /participants/{ID} callback. - properties: &ref_62 - partyList: - type: array - items: - title: PartyResult - type: object - description: Data model for the complex type PartyResult. - properties: &ref_7 - partyId: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: &ref_2 - partyIdType: - title: PartyIdType - type: string - enum: &ref_77 - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - - CONSENT - - THIRD_PARTY_LINK - description: > - Below are the allowed values for the - enumeration. - - - MSISDN - An MSISDN (Mobile Station - International Subscriber Directory - - Number, that is, the phone number) is used as - reference to a participant. - - The MSISDN identifier should be in - international format according to the - - [ITU-T E.164 - standard](https://www.itu.int/rec/T-REC-E.164/en). - - Optionally, the MSISDN may be prefixed by a - single plus sign, indicating the - - international prefix. - - - EMAIL - An email is used as reference to a - - participant. The format of the email should be - according to the informational - - [RFC - 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used - as reference to a participant. - - Examples of personal identification are - passport number, birth certificate - - number, and national registration number. The - identifier number is added in - - the PartyIdentifier element. The personal - identifier type is added in the - - PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, - an organization or a company) - - is used as reference to a participant. The - BUSINESS identifier can be in any - - format. To make a transaction connected to a - specific username or bill number - - in a Business, the PartySubIdOrType element - should be used. - - - DEVICE - A specific device (for example, a - POS or ATM) ID connected to a - - specific business or organization is used as - reference to a Party. - - For referencing a specific device under a - specific business or organization, - - use the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP - account ID should be used as - - reference to a participant. The ACCOUNT_ID - identifier can be in any format, - - as formats can greatly differ depending on - country and FSP. - - - IBAN - A bank account number or FSP account - ID is used as reference to a - - participant. The IBAN identifier can consist - of up to 34 alphanumeric - - characters and should be entered without - whitespace. - - - ALIAS An alias is used as reference to a - participant. The alias should be - - created in the FSP as an alternative reference - to an account owner. - - Another example of an alias is a username in - the FSP system. - - The ALIAS identifier can be in any format. It - is also possible to use the - - PartySubIdOrType element for identifying an - account under an Alias defined - - by the PartyIdentifier. - - - CONSENT - A Consent represents an agreement - between a PISP, a Customer and - - a DFSP which allows the PISP permission to - perform actions on behalf of the - - customer. A Consent has an authoritative - source: either the DFSP who issued - - the Consent, or an Auth Service which - administers the Consent. - - - THIRD_PARTY_LINK - A Third Party Link - represents an agreement between a PISP, - - a DFSP, and a specific Customer's account at - the DFSP. The content of the link - - is created by the DFSP at the time when it - gives permission to the PISP for - - specific access to a given account. - example: PERSONAL_ID - partyIdentifier: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - partySubIdOrType: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, - or a sub-type of the PartyIdType, normally a - PersonalIdentifierType. - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. - An optional list of extensions, specific to - deployment. - properties: &ref_0 - extension: - type: array - items: - title: Extension - type: object - description: >- - Data model for the complex type - Extension. - properties: &ref_78 - key: - title: ExtensionKey - type: string - minLength: 1 - maxLength: 32 - description: Extension key. - value: - title: ExtensionValue - type: string - minLength: 1 - maxLength: 128 - description: Extension value. - required: &ref_79 - - key - - value - minItems: 1 - maxItems: 16 - description: Number of Extension elements. - required: &ref_1 - - extension - required: &ref_3 - - partyIdType - - partyIdentifier - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: &ref_13 - errorCode: - title: ErrorCode - type: string - pattern: ^[1-9]\d{3}$ - description: >- - The API data type ErrorCode is a JSON String - of four characters, consisting of digits only. - Negative numbers are not allowed. A leading - zero is not allowed. Each error code in the - API is a four-digit number, for example, 1234, - where the first number (1 in the example) - represents the high-level error category, the - second number (2 in the example) represents - the low-level error category, and the last two - numbers (34 in the example) represent the - specific error. - example: '5100' - errorDescription: - title: ErrorDescription - type: string - minLength: 1 - maxLength: 128 - description: Error description string. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. - An optional list of extensions, specific to - deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_14 - - errorCode - - errorDescription - required: &ref_8 - - partyId - minItems: 1 - maxItems: 10000 - description: >- - List of PartyResult elements that were either created or - failed to be created. - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: &ref_4 - - AED - - AFN - - ALL - - AMD - - ANG - - AOA - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XCD - - XDR - - XOF - - XPF - - XTS - - XXX - - YER - - ZAR - - ZMW - - ZWD - required: &ref_63 - - partyList - - title: PartiesTypeIDPutResponse - type: object - description: > - The object sent in the PUT /parties/{Type}/{ID} callback. - - - This is a variant based on FSPIOP `PartiesTypeIDPutResponse` - specification. - - Main difference being that it returns a `Party` with the - newly added - - `accounts` property. - properties: &ref_82 - party: - title: Party - type: object - description: Data model for the complex type Party. - properties: &ref_9 - partyIdInfo: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: *ref_2 - required: *ref_3 - merchantClassificationCode: - title: MerchantClassificationCode - type: string - pattern: ^[\d]{1,4}$ - description: >- - A limited set of pre-defined numbers. This list - would be a limited set of numbers identifying a set - of popular merchant types like School Fees, Pubs and - Restaurants, Groceries, etc. - name: - title: PartyName - type: string - minLength: 1 - maxLength: 128 - description: >- - Name of the Party. Could be a real name or a - nickname. - personalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: &ref_81 - complexName: - title: PartyComplexName - type: object - description: >- - Data model for the complex type - PartyComplexName. - properties: &ref_80 - firstName: - title: FirstName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: First name of the Party (Name Type). - example: Henrik - middleName: - title: MiddleName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Middle name of the Party (Name Type). - example: Johannes - lastName: - title: LastName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Last name of the Party (Name Type). - example: Karlsson - dateOfBirth: - title: DateofBirth (type Date) - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - description: Date of Birth of the Party. - example: '1966-06-16' - required: &ref_10 - - partyIdInfo - required: &ref_83 - - party - - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: &ref_84 - transferAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: &ref_5 - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - amount: - title: Amount - type: string - pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ - description: >- - The API data type Amount is a JSON String in a - canonical format that is restricted by a regular - expression for interoperability reasons. This - pattern does not allow any trailing zeroes at all, - but allows an amount without a minor currency unit. - It also only allows four digits in the minor - currency unit; a negative value is not allowed. - Using more than 18 digits in the major currency unit - is not allowed. - example: '123.45' - required: &ref_6 - - currency - - amount - payeeReceiveAmount: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - payeeFspFee: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - payeeFspCommission: - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - expiration: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates the - geographic location from where the transaction was - initiated. - properties: &ref_11 - latitude: - title: Latitude - type: string - pattern: >- - ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Latitude is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. - example: '+45.4215' - longitude: - title: Longitude - type: string - pattern: >- - ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Longitude is a JSON String in a - lexical format that is restricted by a regular - expression for interoperability reasons. - example: '+75.6972' - required: &ref_12 - - latitude - - longitude - ilpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: Information for recipient (transport layer information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Condition that must be attached to the transfer by the - Payer. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_85 - - transferAmount - - expiration - - ilpPacket - - condition - - title: ThirdpartyRequestsTransactionsIDPatchResponse - type: object - description: >- - Used by: DFSP - - The issuing PISP will expect a response to their request for - a transfer which describes the finalized state of the - requested transfer. - - This response will be given by a PATCH call on the - /thirdpartyRequests/transactions/{ID} resource. - - The {ID} given in the query string should be the - transactionRequestId which was originally used by the PISP - to identify the transaction request. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations - properties: &ref_70 - completedTimestamp: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - transactionRequestState: - title: TransactionRequestState - type: string - enum: &ref_69 - - RECEIVED - - PENDING - - ACCEPTED - - REJECTED - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Payer FSP has received the transaction from - the Payee FSP. - - - PENDING - Payer FSP has sent the transaction request - to the Payer. - - - ACCEPTED - Payer has approved the transaction. - - - REJECTED - Payer has rejected the transaction. - example: RECEIVED - transactionState: - title: TransactionState - type: string - enum: &ref_86 - - RECEIVED - - PENDING - - COMPLETED - - REJECTED - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Payee FSP has received the transaction from - the Payer FSP. - - - PENDING - Payee FSP has validated the transaction. - - - COMPLETED - Payee FSP has successfully performed the - transaction. - - - REJECTED - Payee FSP has failed to perform the - transaction. - example: RECEIVED - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_71 - - transactionRequestState - - transactionState - - title: AuthorizationResponseType - description: > - Enum containing authorization response information; if the - customer - - accepted the terms of the transfer, or rejected the terms. - type: string - enum: &ref_87 - - ACCEPTED - - REJECTED - - title: ConsentStatusIssued - type: string - enum: &ref_51 - - ISSUED - description: |- - Allowed values for the enumeration ConsentStatus - - ISSUED - The consent has been issued by the DFSP - - title: IlpFulfilment - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: >- - Fulfilment that must be attached to the transfer by the - Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - - title: Integer - type: string - pattern: ^[1-9]\d*$ - description: >- - The API data type Integer is a JSON String consisting of - digits only. Negative numbers and leading zeroes are not - allowed. The data type is always limited to a specific - number of digits. - - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: &ref_89 - partyIdType: - title: PartyIdTypeTPLink - type: string - enum: &ref_88 - - THIRD_PARTY_LINK - description: > - - THIRD_PARTY_LINK - is the DFSP's internal reference - which allows DFSP to find out the corresponding consent - example: PERSONAL_ID - partyIdentifier: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - partySubIdOrType: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a - sub-type of the PartyIdType, normally a - PersonalIdentifierType. - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_90 - - partyIdType - - partyIdentifier - - title: PartyResult - type: object - description: Data model for the complex type PartyResult. - properties: *ref_7 - required: *ref_8 - - title: ServiceType - type: string - description: >- - The ServiceType enumeration describes the types of role for - which a DFSP may query using the /services resource. - - Below are the allowed values for the enumeration ServiceType - - THIRD_PARTY_DFSP - Enum used to query for DFSPs that have - thirdparty features enabled. - PISP - Enum used to query for - PISPs. - AUTH_SERVICE - Participants which provide - Authentication Services. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3229-servicetype - enum: &ref_91 - - THIRD_PARTY_DFSP - - PISP - - AUTH_SERVICE - - title: ParticipantsPostRequest - type: object - description: The object sent in the POST /participants request. - properties: &ref_60 - requestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - partyList: - type: array - items: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: *ref_2 - required: *ref_3 - minItems: 1 - maxItems: 10000 - description: > - List of PartyIdInfo elements that the client would like - to update - - or create FSP information about. - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - required: &ref_61 - - requestId - - partyList - - title: QuotesPostRequest - type: object - description: The object sent in the POST /quotes request. - properties: &ref_97 - quoteId: - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - transactionId: - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - transactionRequestId: - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - payee: - description: Data model for the complex type Party. - title: Party - type: object - properties: *ref_9 - required: *ref_10 - payer: - description: Data model for the complex type Party. - title: Party - type: object - properties: *ref_9 - required: *ref_10 - amountType: - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - title: AmountType - type: string - enum: &ref_66 - - SEND - - RECEIVE - amount: - description: Data model for the complex type Money. - title: Money - type: object - properties: *ref_5 - required: *ref_6 - fees: - description: Data model for the complex type Money. - title: Money - type: object - properties: *ref_5 - required: *ref_6 - transactionType: - description: Data model for the complex type TransactionType. - title: TransactionType - type: object - properties: &ref_67 - scenario: - title: TransactionScenario - type: string - enum: &ref_92 - - DEPOSIT - - WITHDRAWAL - - TRANSFER - - PAYMENT - - REFUND - description: >- - Below are the allowed values for the enumeration. - - - DEPOSIT - Used for performing a Cash-In (deposit) - transaction. In a normal scenario, electronic funds - are transferred from a Business account to a - Consumer account, and physical cash is given from - the Consumer to the Business User. - - - WITHDRAWAL - Used for performing a Cash-Out - (withdrawal) transaction. In a normal scenario, - electronic funds are transferred from a Consumer’s - account to a Business account, and physical cash is - given from the Business User to the Consumer. - - - TRANSFER - Used for performing a P2P (Peer to - Peer, or Consumer to Consumer) transaction. - - - PAYMENT - Usually used for performing a - transaction from a Consumer to a Merchant or - Organization, but could also be for a B2B (Business - to Business) payment. The transaction could be - online for a purchase in an Internet store, in a - physical store where both the Consumer and Business - User are present, a bill payment, a donation, and so - on. - - - REFUND - Used for performing a refund of - transaction. - example: DEPOSIT - subScenario: - title: TransactionSubScenario - type: string - pattern: ^[A-Z_]{1,32}$ - description: >- - Possible sub-scenario, defined locally within the - scheme (UndefinedEnum Type). - example: LOCALLY_DEFINED_SUBSCENARIO - initiator: - title: TransactionInitiator - type: string - enum: &ref_93 - - PAYER - - PAYEE - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the - transaction. The account to send from is either - owned by the Payer or is connected to the Payer in - some way. - - - PAYEE - Recipient of the funds is initiating the - transaction by sending a transaction request. The - Payer must approve the transaction, either - automatically by a pre-generated OTP or by - pre-approval of the Payee, or by manually approving - in his or her own Device. - example: PAYEE - initiatorType: - title: TransactionInitiatorType - type: string - enum: &ref_94 - - CONSUMER - - AGENT - - BUSINESS - - DEVICE - description: >- - Below are the allowed values for the enumeration. - - - CONSUMER - Consumer is the initiator of the - transaction. - - - AGENT - Agent is the initiator of the transaction. - - - BUSINESS - Business is the initiator of the - transaction. - - - DEVICE - Device is the initiator of the - transaction. - example: CONSUMER - refundInfo: - title: Refund - type: object - description: Data model for the complex type Refund. - properties: &ref_95 - originalTransactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the - same sequence. The API data type UUID - (Universally Unique Identifier) is a JSON String - in canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that - is restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 - dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - refundReason: - title: RefundReason - type: string - minLength: 1 - maxLength: 128 - description: Reason for the refund. - example: Free text indicating reason for the refund. - required: &ref_96 - - originalTransactionId - balanceOfPayments: - title: BalanceOfPayments - type: string - pattern: ^[1-9]\d{2}$ - description: >- - (BopCode) The API data type - [BopCode](https://www.imf.org/external/np/sta/bopcode/) - is a JSON String of 3 characters, consisting of - digits only. Negative numbers are not allowed. A - leading zero is not allowed. - example: '123' - required: &ref_68 - - scenario - - initiator - - initiatorType - geoCode: - description: >- - Data model for the complex type GeoCode. Indicates the - geographic location from where the transaction was - initiated. - title: GeoCode - type: object - properties: *ref_11 - required: *ref_12 - note: - description: Memo assigned to transaction. - example: Note sent to Payee. - title: Note - type: string - minLength: 1 - maxLength: 128 - expiration: - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - extensionList: - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - title: ExtensionList - type: object - properties: *ref_0 - required: *ref_1 - required: &ref_98 - - quoteId - - transactionId - - payee - - payer - - amountType - - amount - - transactionType + - $ref: '#/components/schemas/ParticipantsIDPutResponse' + - $ref: '#/components/schemas/PartiesTypeIDPutResponse' + - $ref: '#/components/schemas/QuotesIDPutResponse' + - $ref: >- + #/components/schemas/ThirdpartyRequestsTransactionsIDPatchResponse + - $ref: '#/components/schemas/AuthorizationResponseType' + - $ref: '#/components/schemas/ConsentStatusIssued' + - $ref: '#/components/schemas/IlpFulfilment' + - $ref: '#/components/schemas/Integer' + - $ref: '#/components/schemas/Note' + - $ref: '#/components/schemas/PartyIdInfoTPLink' + - $ref: '#/components/schemas/PartyResult' + - $ref: '#/components/schemas/ServiceType' + - $ref: '#/components/schemas/ParticipantsPostRequest' + - $ref: '#/components/schemas/QuotesPostRequest' responses: '200': description: Ok /accounts/{ID}: parameters: - - name: ID - in: path - required: true - schema: &ref_34 - type: string - description: The identifier value. - - name: Content-Type - in: header - schema: &ref_35 - type: string - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: &ref_36 - type: string - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: &ref_37 - type: string - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: &ref_38 - type: string - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: &ref_39 - type: string - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: &ref_40 - type: string - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: &ref_41 - type: string - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: &ref_42 - type: string - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: &ref_43 - type: string - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: operationId: GetAccountsByUserId summary: GetAccountsByUserId @@ -1339,257 +69,26 @@ paths: - accounts - sampled parameters: - - name: Accept - in: header - required: true - schema: &ref_45 - type: string - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: &ref_18 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: &ref_15 - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: *ref_13 - required: *ref_14 - headers: &ref_19 - Content-Length: - required: false - schema: &ref_16 - type: integer - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: &ref_17 - type: string - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: &ref_20 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_21 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/401' '403': - description: Forbidden - content: &ref_22 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_23 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/403' '404': - description: Not Found - content: &ref_24 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_25 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: &ref_26 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_27 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: &ref_28 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_29 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: &ref_30 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_31 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: &ref_32 - application/json: - schema: - title: ErrorInformationResponse - type: object - description: >- - Data model for the complex type object that contains an - optional element ErrorInformation used along with 4xx and 5xx - responses. - properties: *ref_15 - headers: &ref_33 - Content-Length: - required: false - schema: *ref_16 - description: >- - The `Content-Length` header field indicates the anticipated size - of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). - Content-Type: - schema: *ref_17 - required: true - description: >- - The `Content-Type` header indicates the specific version of the - API used to send the payload body. + $ref: '#/components/responses/503' put: description: > The HTTP request `PUT /accounts/{ID}` is used to return the list of @@ -1600,133 +99,13 @@ paths: - accounts - sampled parameters: - - name: Content-Length - in: header - required: false - schema: &ref_44 - type: integer - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: - title: AccountsIDPutResponse - type: object - description: >- - Callback and data model information for GET /accounts/{ID}: - - Callback - PUT /accounts/{ID} Error Callback - PUT - /accounts/{ID}/error Data Model - Empty body - - The PUT /accounts/{ID} response is used to inform the requester - of the result of a request for accounts information. The - identifier ID given in the call are the values given in the - original request. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31121--put-accountsid - properties: &ref_102 - accounts: - title: AccountList - type: array - description: >- - The AccountList data model is used to hold information about - the accounts that a party controls. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist - items: &ref_101 - title: Account - type: object - description: >- - Data model for the complex type Account. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3211-account - properties: &ref_99 - accountNickname: - title: Name - type: string - pattern: ^(?!\s*$)[\w .,'-]{1,128}$ - description: >- - The API data type Name is a JSON String, restricted by - a regular expression to avoid characters which are - generally not used in a name. - - - Regular Expression - The regular expression for - restricting the Name type is "^(?!\s*$)[\w - .,'-]{1,128}$". The restriction does not allow a - string consisting of whitespace only, all Unicode - characters are allowed, as well as the period (.) - (apostrophe (‘), dash (-), comma (,) and space - characters ( ). - - - **Note:** In some programming languages, Unicode - support must be specifically enabled. For example, if - Java is used, the flag UNICODE_CHARACTER_CLASS must be - enabled to allow Unicode characters. - address: - title: AccountAddress - type: string - description: >- - The AccountAddress data type is a variable length - string with a maximum size of 1023 characters and - consists of: - - Alphanumeric characters, upper or lower case. - (Addresses are case-sensitive so that they can contain - data encoded in formats such as base64url.) - - - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) - Addresses MUST NOT end in a period (.) character - - An entity providing accounts to parties (i.e. a - participant) can provide any value for an - AccountAddress that is meaningful to that entity. It - does not need to provide an address that makes the - account identifiable outside the entity's domain. - - IMPORTANT: The policy for defining addresses and the - life-cycle of these is at the discretion of the - address space owner (the payer DFSP in this case). - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$ - minLength: 1 - maxLength: 1023 - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) - as three-letter alphabetic codes are used as the - standard naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - required: &ref_100 - - accountNickname - - address - - currency - minItems: 1 - maxItems: 256 - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_103 - - accounts + $ref: '#/components/schemas/AccountsIDPutResponse' example: - accountNickname: dfspa.user.nickname1 id: dfspa.username.1234 @@ -1736,130 +115,35 @@ paths: currency: USD responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /accounts/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: description: > The HTTP request `PUT /accounts/{ID}/error` is used to return error @@ -1870,111 +154,56 @@ paths: - accounts - sampled parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Details of the error returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: &ref_48 - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: *ref_13 - required: *ref_14 - required: &ref_49 - - errorInformation + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /health: get: tags: - health responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' operationId: HealthGet summary: Health check endpoint description: >- @@ -1986,128 +215,37 @@ paths: - health responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' operationId: MetricsGet summary: Prometheus metrics endpoint description: The HTTP request GET /metrics is used to return metrics for the API. /consentRequests: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: tags: - consentRequests @@ -2121,310 +259,46 @@ paths: accounts owned by a customer of the DFSP for the PISP who sends the request. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: The consentRequest to create required: true content: application/json: schema: - title: ConsentRequestsPostRequest - type: object - description: >- - Used by: PISP - - The HTTP request POST /consentRequests is used to request a DFSP - to grant access to one or more accounts owned by a customer of - the DFSP for the PISP who sends the request. - - Callback and data model for POST /consentRequests: - - Callback: PUT /consentRequests/{ID} Error callback: PUT - /consentRequests/{ID}/error Data model - see below url - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31212-post-consentrequests - properties: &ref_106 - consentRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - userId: - type: string - description: >- - The identifier used in the **GET /accounts/**_{ID}_. Used by - the DFSP to correlate an account lookup to a - `consentRequest` - minLength: 1 - maxLength: 128 - scopes: - type: array - minLength: 1 - maxLength: 256 - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in the - terms of a DFSP, an account on which access types can be - requested or granted. It also defines the access types - which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: &ref_46 - address: - title: AccountAddress - type: string - description: >- - The AccountAddress data type is a variable length - string with a maximum size of 1023 characters and - consists of: - - Alphanumeric characters, upper or lower case. - (Addresses are case-sensitive so that they can contain - data encoded in formats such as base64url.) - - - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) - Addresses MUST NOT end in a period (.) character - - An entity providing accounts to parties (i.e. a - participant) can provide any value for an - AccountAddress that is meaningful to that entity. It - does not need to provide an address that makes the - account identifiable outside the entity's domain. - - IMPORTANT: The policy for defining addresses and the - life-cycle of these is at the discretion of the - address space owner (the payer DFSP in this case). - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$ - minLength: 1 - maxLength: 1023 - actions: - type: array - minItems: 1 - maxItems: 32 - items: - title: ScopeAction - type: string - description: > - The ScopeAction element contains an access type - which a PISP can request - - from a DFSP, or which a DFSP can grant to a PISP. - - It must be a member of the appropriate enumeration. - - - - ACCOUNTS_GET_BALANCE: PISP can request a balance - for the linked account - - - ACCOUNTS_TRANSFER: PISP can request a transfer of - funds from the linked account in the DFSP - - - ACCOUNTS_STATEMENT: PISP can request a statement - of individual transactions on a user's account - enum: &ref_104 - - ACCOUNTS_GET_BALANCE - - ACCOUNTS_TRANSFER - - ACCOUNTS_STATEMENT - required: &ref_47 - - address - - actions - authChannels: - type: array - minLength: 1 - maxLength: 256 - items: - title: ConsentRequestChannelType - type: string - enum: &ref_105 - - WEB - - OTP - description: > - The auth channel being used for the consent request. - - - WEB - DFSP can support authorization via a web-based - login. - - - OTP - DFSP can support authorization via a One Time PIN. - callbackUri: - title: Uri - type: string - pattern: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? - minLength: 1 - maxLength: 512 - description: > - The API data type Uri is a JSON string in a canonical format - that is restricted by a regular expression for - interoperability reasons. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_107 - - consentRequestId - - userId - - scopes - - authChannels - - callbackUri + $ref: '#/components/schemas/ConsentRequestsPostRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /consentRequests/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: operationId: GetConsentRequestsById summary: GetConsentRequestsById @@ -2440,48 +314,26 @@ paths: - consentRequests - sampled parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: tags: - consentRequests @@ -2512,199 +364,34 @@ paths: particular authorization request. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: oneOf: - - title: ConsentRequestsIDPutResponseWeb - type: object - description: > - The object sent in a `PUT /consentRequests/{ID}` request. - - - Schema used in the request consent phase of the account - linking web flow, - - the result is the PISP being instructed on a specific URL - where this - - supposed user should be redirected. This URL should be a - place where - - the user can prove their identity (e.g., by logging in). - properties: &ref_109 - scopes: - type: array - minLength: 1 - maxLength: 256 - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - authChannels: - type: array - minLength: 1 - maxLength: 1 - items: - title: ConsentRequestChannelTypeWeb - type: string - enum: &ref_108 - - WEB - description: > - The web auth channel being used for `PUT - /consentRequest/{ID}` request. - callbackUri: - title: Uri - type: string - pattern: >- - ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? - minLength: 1 - maxLength: 512 - description: > - The API data type Uri is a JSON string in a canonical - format that is restricted by a regular expression for - interoperability reasons. - authUri: - title: Uri - type: string - pattern: >- - ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? - minLength: 1 - maxLength: 512 - description: > - The API data type Uri is a JSON string in a canonical - format that is restricted by a regular expression for - interoperability reasons. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_110 - - scopes - - authChannels - - callbackUri - - authUri - additionalProperties: false - - title: ConsentRequestsIDPutResponseOTP - type: object - description: > - The object sent in a `PUT /consentRequests/{ID}` request. - - - Schema used in the request consent phase of the account - linking OTP/SMS flow. - properties: &ref_112 - scopes: - type: array - minLength: 1 - maxLength: 256 - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - authChannels: - type: array - minLength: 1 - maxLength: 1 - items: - title: ConsentRequestChannelTypeOTP - type: string - enum: &ref_111 - - OTP - description: > - The OTP auth channel being used for `PUT - /consentRequests/{ID}` request. - callbackUri: - title: Uri - type: string - pattern: >- - ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? - minLength: 1 - maxLength: 512 - description: > - The API data type Uri is a JSON string in a canonical - format that is restricted by a regular expression for - interoperability reasons. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_113 - - scopes - - authChannels - additionalProperties: false + - $ref: '#/components/schemas/ConsentRequestsIDPutResponseWeb' + - $ref: '#/components/schemas/ConsentRequestsIDPutResponseOTP' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' patch: tags: - consentRequests @@ -2716,186 +403,45 @@ paths: PISP will receive a token which they can use to prove to the DFSP that the user trusts this PISP. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: - title: ConsentRequestsIDPatchRequest - type: object - description: >- - Used by: PISP - - After the user completes an out-of-band authorization with the - DFSP, the PISP will receive a token which they can use to prove - to the DFSP that the user trusts this PISP. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31222-patch-consentrequestsid - properties: &ref_114 - authToken: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: >- - The API data type BinaryString is a JSON String. The string - is a base64url encoding of a string of raw bytes, where - padding (character ‘=’) is added at the end of the data if - needed to ensure that the string is a multiple of 4 - characters. The length restriction indicates the allowed - number of characters. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_115 - - authToken + $ref: '#/components/schemas/ConsentRequestsIDPatchRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /consentRequests/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: tags: - consentRequests @@ -2906,151 +452,44 @@ paths: DFSP responds to the PISP if something went wrong with validating an OTP or secret. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Error information returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /consents: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: tags: - consents @@ -3062,481 +501,47 @@ paths: consent for interactions between a PISP and the DFSP who owns the account which a PISP’s customer wants to allow the PISP access to. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: oneOf: - - title: ConsentPostRequestAUTH - type: object - description: > - The object sent in a `POST /consents` request to the - Auth-Service - - by a DFSP to store registered Consent and credential - properties: &ref_117 - consentId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - Common ID between the PISP and FSP for the Consent - object - - determined by the DFSP who creates the Consent. - consentRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - scopes: - minLength: 1 - maxLength: 256 - type: array - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - credential: - allOf: - - title: SignedCredential - type: object - description: > - A credential used to allow a user to prove their - identity and access - - to an account with a DFSP. - - - SignedCredential is a special formatting of the - credential to allow us to be - - more explicit about the `status` field - it should - only ever be PENDING when - - updating a credential. - properties: &ref_52 - credentialType: - title: CredentialType - type: string - enum: &ref_54 - - FIDO - - GENERIC - description: >- - The type of the Credential. - "FIDO" - The - credential is based on a FIDO challenge. Its - payload is a FIDOPublicKeyCredentialAttestation - object. - "GENERIC" - The credential is based on - a simple public key validation. Its payload is a - GenericCredential object. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - status: - title: CredentialStatusPending - type: string - enum: &ref_116 - - PENDING - description: > - The status of the Credential. - - - "PENDING" - The credential has been created, - but has not been verified - genericPayload: - title: GenericCredential - type: object - description: > - A publicKey + signature of a challenge for a - generic public/private keypair. - properties: &ref_56 - publicKey: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: >- - The API data type BinaryString is a JSON - String. The string is a base64url encoding - of a string of raw bytes, where padding - (character ‘=’) is added at the end of the - data if needed to ensure that the string is - a multiple of 4 characters. The length - restriction indicates the allowed number of - characters. - signature: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: >- - The API data type BinaryString is a JSON - String. The string is a base64url encoding - of a string of raw bytes, where padding - (character ‘=’) is added at the end of the - data if needed to ensure that the string is - a multiple of 4 characters. The length - restriction indicates the allowed number of - characters. - required: &ref_57 - - publicKey - - signature - additionalProperties: false - fidoPayload: - title: FIDOPublicKeyCredentialAttestation - type: object - description: > - A data model representing a FIDO Attestation - result. Derived from - - [`PublicKeyCredential` - Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - - - The `PublicKeyCredential` interface represents - the below fields with - - a Type of Javascript - [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - - For this API, we represent ArrayBuffers as - base64 encoded utf-8 strings. - properties: &ref_58 - id: - type: string - description: > - credential id: identifier of pair of keys, - base64 encoded - - https://w3c.github.io/webauthn/#ref-for-dom-credential-id - minLength: 59 - maxLength: 118 - rawId: - type: string - description: > - raw credential id: identifier of pair of - keys, base64 encoded - minLength: 59 - maxLength: 118 - response: - type: object - description: | - AuthenticatorAttestationResponse - properties: - clientDataJSON: - type: string - description: | - JSON string with client data - minLength: 121 - maxLength: 512 - attestationObject: - type: string - description: | - CBOR.encoded attestation object - minLength: 306 - maxLength: 2048 - required: - - clientDataJSON - - attestationObject - additionalProperties: false - type: - type: string - description: >- - response type, we need only the type of - public-key - enum: - - public-key - required: &ref_59 - - id - - response - - type - additionalProperties: false - required: &ref_53 - - credentialType - - status - additionalProperties: false - status: - title: ConsentStatus - type: string - enum: &ref_50 - - ISSUED - - REVOKED - description: |- - Allowed values for the enumeration ConsentStatus - - ISSUED - The consent has been issued by the DFSP - - REVOKED - The consent has been revoked - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_118 - - consentId - - scopes - - credential - - status - additionalProperties: false - - title: ConsentPostRequestPISP - type: object - description: > - The provisional Consent object sent by the DFSP in `POST - /consents`. - properties: &ref_119 - consentId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - Common ID between the PISP and the Payer DFSP for the - consent object. The ID - - should be reused for re-sends of the same consent. A new - ID should be generated - - for each new consent. - consentRequestId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - The ID given to the original consent request on which - this consent is based. - scopes: - type: array - minLength: 1 - maxLength: 256 - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - status: - title: ConsentStatus - type: string - enum: *ref_50 - description: |- - Allowed values for the enumeration ConsentStatus - - ISSUED - The consent has been issued by the DFSP - - REVOKED - The consent has been revoked - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_120 - - consentId - - consentRequestId - - scopes - - status + - $ref: '#/components/schemas/ConsentsPostRequestAUTH' + - $ref: '#/components/schemas/ConsentsPostRequestPISP' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /consents/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: description: > The **GET /consents/**_{ID}_ resource allows a party to enquire after @@ -3548,48 +553,26 @@ paths: operationId: GetConsent summary: GetConsent parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' patch: description: > The HTTP request `PATCH /consents/{ID}` is used @@ -3616,140 +599,30 @@ paths: application/json: schema: oneOf: - - title: ConsentsIDPatchResponseVerified - description: > - PATCH /consents/{ID} request object. - - - Sent by the DFSP to the PISP when a consent is issued and - verified. - - Used in the "Register Credential" part of the Account - linking flow. - type: object - properties: &ref_127 - credential: - type: object - properties: - status: - title: CredentialStatusVerified - type: string - enum: &ref_55 - - VERIFIED - description: | - The status of the Credential. - - "VERIFIED" - The Credential is valid and verified. - required: - - status - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_128 - - credential - - title: ConsentsIDPatchResponseRevoked - description: | - PATCH /consents/{ID} request object. - - Sent to both the PISP and DFSP when a consent is revoked. - Used in the "Unlinking" part of the Account Unlinking flow. - type: object - properties: &ref_130 - status: - title: ConsentStatusRevoked - type: string - enum: &ref_129 - - REVOKED - description: |- - Allowed values for the enumeration ConsentStatus - - REVOKED - The consent has been revoked - revokedAt: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_131 - - status - - revokedAt + - $ref: '#/components/schemas/ConsentsIDPatchResponseVerified' + - $ref: '#/components/schemas/ConsentsIDPatchResponseRevoked' parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: description: > The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth @@ -3772,234 +645,31 @@ paths: application/json: schema: oneOf: - - title: ConsentsIDPutResponseSigned - type: object - description: > - The HTTP request `PUT /consents/{ID}` is used by the PISP to - update a Consent with a signed challenge and register a - credential. - - Called by a `PISP` to after signing a challenge. Sent to a - DFSP for verification. - properties: &ref_121 - status: - title: ConsentStatusIssued - type: string - enum: *ref_51 - description: |- - Allowed values for the enumeration ConsentStatus - - ISSUED - The consent has been issued by the DFSP - scopes: - type: array - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - credential: - title: SignedCredential - type: object - description: > - A credential used to allow a user to prove their - identity and access - - to an account with a DFSP. - - - SignedCredential is a special formatting of the - credential to allow us to be - - more explicit about the `status` field - it should only - ever be PENDING when - - updating a credential. - properties: *ref_52 - required: *ref_53 - additionalProperties: false - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_122 - - scopes - - credential - additionalProperties: false - - title: ConsentsIDPutResponseVerified - type: object - description: > - The HTTP request `PUT /consents/{ID}` is used by the DFSP or - Auth-Service to update a Consent object once it has been - Verified. - - Called by a `auth-service` to notify a DFSP that a - credential has been verified and registered. - properties: &ref_125 - status: - title: ConsentStatusIssued - type: string - enum: *ref_51 - description: |- - Allowed values for the enumeration ConsentStatus - - ISSUED - The consent has been issued by the DFSP - scopes: - type: array - items: - title: Scope - type: object - description: >- - The Scope element contains an identifier defining, in - the terms of a DFSP, an account on which access types - can be requested or granted. It also defines the - access types which are requested or granted. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 - credential: - title: VerifiedCredential - type: object - description: > - A credential used to allow a user to prove their - identity and access - - to an account with a DFSP. - - - VerifiedCredential is a special formatting of Credential - to allow us to be - - more explicit about the `status` field - it should only - ever be VERIFIED when - - updating a credential. - properties: &ref_123 - credentialType: - title: CredentialType - type: string - enum: *ref_54 - description: >- - The type of the Credential. - "FIDO" - The - credential is based on a FIDO challenge. Its payload - is a FIDOPublicKeyCredentialAttestation object. - - "GENERIC" - The credential is based on a simple - public key validation. Its payload is a - GenericCredential object. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - status: - title: CredentialStatusVerified - type: string - enum: *ref_55 - description: | - The status of the Credential. - - "VERIFIED" - The Credential is valid and verified. - genericPayload: - title: GenericCredential - type: object - description: > - A publicKey + signature of a challenge for a generic - public/private keypair. - properties: *ref_56 - required: *ref_57 - additionalProperties: false - fidoPayload: - title: FIDOPublicKeyCredentialAttestation - type: object - description: > - A data model representing a FIDO Attestation result. - Derived from - - [`PublicKeyCredential` - Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - - - The `PublicKeyCredential` interface represents the - below fields with - - a Type of Javascript - [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - - For this API, we represent ArrayBuffers as base64 - encoded utf-8 strings. - properties: *ref_58 - required: *ref_59 - additionalProperties: false - required: &ref_124 - - credentialType - - status - additionalProperties: false - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_126 - - scopes - - credential - additionalProperties: false + - $ref: '#/components/schemas/ConsentsIDPutResponseSigned' + - $ref: '#/components/schemas/ConsentsIDPutResponseVerified' parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' responses: '200': - description: OK + $ref: '#/components/responses/200' '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' delete: description: > Used by PISP, DFSP @@ -4017,141 +687,40 @@ paths: consent should not be honoured. operationId: DeleteConsentByID parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' tags: - consents responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /consents/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: tags: - consents @@ -4162,151 +731,44 @@ paths: DFSP responds to the PISP if something went wrong with validating or storing consent. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Error information returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /participants: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: description: >- The HTTP request `POST /participants` is used to create information in @@ -4320,161 +782,46 @@ paths: - sampled operationId: Participants1 parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: Participant information to be created. required: true content: application/json: schema: - title: ParticipantsPostRequest - type: object - description: The object sent in the POST /participants request. - properties: *ref_60 - required: *ref_61 + $ref: '#/components/schemas/ParticipantsPostRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /participants/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: description: >- The callback `PUT /participants/{ID}` is used to inform the client of @@ -4485,154 +832,45 @@ paths: - sampled operationId: PutParticipantsByID parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Participant information returned. required: true content: application/json: schema: - title: ParticipantsIDPutResponse - type: object - description: The object sent in the PUT /participants/{ID} callback. - properties: *ref_62 - required: *ref_63 + $ref: '#/components/schemas/ParticipantsIDPutResponse' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /participants/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: description: >- If there is an error during FSP information creation in the server, the @@ -4645,164 +883,46 @@ paths: - sampled operationId: PutParticipantsByIDAndError parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Details of the error returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /participants/{Type}/{ID}: parameters: - - name: Type - in: path - required: true - schema: &ref_64 - type: string - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Type' + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: description: >- The HTTP request `POST /participants/{Type}/{ID}` (or `POST @@ -4817,99 +937,34 @@ paths: - sampled operationId: ParticipantsByIDAndType parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: Participant information to be created. required: true content: application/json: schema: - title: ParticipantsTypeIDSubIDPostRequest - type: object - description: >- - The object sent in the POST /participants/{Type}/{ID}/{SubId} - and /participants/{Type}/{ID} requests. An additional optional - ExtensionList element has been added as part of v1.1 changes. - properties: &ref_133 - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as - three-letter alphabetic codes are used as the standard - naming representation for currencies. - type: string - minLength: 3 - maxLength: 3 - enum: *ref_4 - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_134 - - fspId + $ref: '#/components/schemas/ParticipantsTypeIDSubIDPostRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' get: description: >- The HTTP request `GET /participants/{Type}/{ID}` (or `GET @@ -4925,48 +980,26 @@ paths: - participants operationId: ParticipantsByTypeAndID parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: description: >- The callback `PUT /participants/{Type}/{ID}` (or `PUT @@ -4980,70 +1013,33 @@ paths: - participants operationId: ParticipantsByTypeAndID3 parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Participant information returned. required: true content: application/json: schema: - title: ParticipantsTypeIDPutResponse - type: object - description: >- - The object sent in the PUT /participants/{Type}/{ID}/{SubId} and - /participants/{Type}/{ID} callbacks. - properties: &ref_132 - fspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. + $ref: '#/components/schemas/ParticipantsTypeIDPutResponse' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' delete: description: >- The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE @@ -5064,146 +1060,39 @@ paths: - participants operationId: ParticipantsByTypeAndID2 parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /participants/{Type}/{ID}/error: parameters: - - name: Type - in: path - required: true - schema: *ref_64 - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Type' + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -5216,157 +1105,45 @@ paths: - sampled operationId: ParticipantsErrorByTypeAndID parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Details of the error returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /services/{ServiceType}: parameters: - - name: ServiceType - in: path - required: true - schema: &ref_65 - type: string - description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ServiceType' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: operationId: GetServicesByServiceType summary: GetServicesByServiceType @@ -5376,51 +1153,29 @@ paths: that support a specified service. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' tags: - services - sampled responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: description: > The HTTP request `PUT /services/{ServiceType}` is used to return list of @@ -5433,184 +1188,44 @@ paths: - services - sampled parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: - title: ServicesServiceTypePutResponse - type: object - description: >- - Used by: Switch - - The callback PUT /services/{ServiceType} is used to inform the - client of a successful result of the service information lookup. - - Callback and data model information for GET - /services/{ServiceType}: - - Callback - PUT /services/{ServiceType} Error Callback - PUT - /services/{ServiceType}/error Data Model - Empty body - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31531-put-servicesservicetype - properties: &ref_135 - providers: - type: array - minLength: 0 - maxLength: 256 - items: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_136 - - providers + $ref: '#/components/schemas/ServicesServiceTypePutResponse' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /services/{ServiceType}/error: parameters: - - name: ServiceType - in: path - required: true - schema: *ref_65 - description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ServiceType' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: description: > The HTTP request `PUT /services/{ServiceType}/error` is used to return @@ -5621,151 +1236,44 @@ paths: - services - sampled parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Details of the error returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/transactions: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: operationId: ThirdpartyRequestsTransactionsPost summary: ThirdpartyRequestsTransactionsPost @@ -5776,277 +1284,46 @@ paths: - thirdpartyRequests - sampled parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: Transaction request to be created. required: true content: application/json: schema: - title: ThirdpartyRequestsTransactionsPostRequest - type: object - description: >- - Used by: PISP - - The HTTP request POST /thirdpartyRequests/transactions is used - to request the creation of a transaction request on the server - for the transfer described in the request. - - Callback and data model information for POST - /thirdpartyRequests/transactions: - - Callback - PUT /thirdpartyRequests/transactions/{ID} Error - Callback - PUT /thirdpartyRequests/transactions/{ID}/error Data - Model - See link below - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31712-post-thirdpartyrequeststransactions - properties: &ref_137 - transactionRequestId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 - hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - Common ID between the PISP and the Payer DFSP for the - transaction request object. The ID should be reused for - resends of the same transaction request. A new ID should be - generated for each new transaction request. - payee: - allOf: - - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_9 - required: *ref_10 - description: >- - Information about the Payee in the proposed financial - transaction. - payer: - allOf: - - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: *ref_2 - required: *ref_3 - description: >- - Information about the Payer in the proposed financial - transaction. - amountType: - allOf: - - title: AmountType - type: string - enum: *ref_66 - description: >- - Below are the allowed values for the enumeration - AmountType. - - - SEND - Amount the Payer would like to send, that is, - the amount that should be withdrawn from the Payer - account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to - receive, that is, the amount that should be sent to the - receiver exclusive of any fees. - example: RECEIVE - description: SEND for sendAmount, RECEIVE for receiveAmount. - amount: - allOf: - - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - description: Requested amount to be transferred from the Payer to Payee. - transactionType: - allOf: - - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: *ref_67 - required: *ref_68 - description: Type of transaction. - note: - type: string - minLength: 1 - maxLength: 256 - description: A memo that will be attached to the transaction. - expiration: - type: string - description: > - Date and time until when the transaction request is valid. - It can be set to get a quick failure in case the peer FSP - takes too long to respond. - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_138 - - transactionRequestId - - payee - - payer - - amountType - - amount - - transactionType - - expiration + $ref: '#/components/schemas/ThirdpartyRequestsTransactionsPostRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/transactions/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: tags: - thirdpartyRequests @@ -6059,48 +1336,26 @@ paths: retrieval of a third party transaction request. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: tags: - thirdpartyRequests @@ -6116,113 +1371,34 @@ paths: Switch(Thirdparty API Adapter) -> PISP parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: - title: ThirdpartyRequestsTransactionsIDPutResponse - type: object - description: >- - Used by: DFSP - - After a PISP requests the creation of a Third Party Transaction - request (POST /thirdpartyRequests/transactions) or the status of - a previously created Third Party Transaction request (GET - /thirdpartyRequests/transactions/{ID}), the DFSP will send this - callback. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31721-put-thirdpartyrequeststransactionsid - properties: &ref_139 - transactionId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionRequestState: - title: TransactionRequestState - type: string - enum: *ref_69 - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Payer FSP has received the transaction from the - Payee FSP. - - - PENDING - Payer FSP has sent the transaction request to - the Payer. - - - ACCEPTED - Payer has approved the transaction. - - - REJECTED - Payer has rejected the transaction. - example: RECEIVED - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_140 - - transactionRequestState + $ref: '#/components/schemas/ThirdpartyRequestsTransactionsIDPutResponse' example: transactionRequestState: RECEIVED responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' patch: operationId: NotifyThirdpartyTransactionRequests summary: NotifyThirdpartyTransactionRequests @@ -6237,177 +1413,49 @@ paths: tags: - thirdpartyRequests parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: required: true content: application/json: schema: - title: ThirdpartyRequestsTransactionsIDPatchResponse - type: object - description: >- - Used by: DFSP - - The issuing PISP will expect a response to their request for a - transfer which describes the finalized state of the requested - transfer. - - This response will be given by a PATCH call on the - /thirdpartyRequests/transactions/{ID} resource. - - The {ID} given in the query string should be the - transactionRequestId which was originally used by the PISP to - identify the transaction request. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations - properties: *ref_70 - required: *ref_71 + $ref: >- + #/components/schemas/ThirdpartyRequestsTransactionsIDPatchResponse example: transactionRequestState: ACCEPTED transactionState: COMMITTED responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/transactions/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: tags: - thirdpartyRequests @@ -6426,151 +1474,44 @@ paths: the thirdparty transaction request. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Error information returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/authorizations: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: description: > The HTTP request **POST /thirdpartyRequests/authorizations** is used to @@ -6582,303 +1523,46 @@ paths: - authorizations - sampled parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: Authorization request details required: true content: application/json: schema: - title: ThirdpartyRequestsAuthorizationsPostRequest - description: >- - Used by: DFSP - - The HTTP request POST /thirdpartyRequests/authorizations is used - to request the validation by a customer for the transfer - described in the request. - - Callback and data model information for POST - /thirdpartyRequests/authorizations: - - Callback - PUT /thirdpartyRequests/authorizations/{ID} Error - Callback - PUT /thirdpartyRequests/authorizations/{ID}/error - Data Model - See below url - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations - type: object - properties: &ref_141 - authorizationRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionRequestId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, conforming - to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for interoperability - reasons. A UUID is always 36 characters long, 32 hexadecimal - symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - challenge: - type: string - description: The challenge that the PISP's client is to sign - transferAmount: - allOf: - - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - description: >- - The amount that will be debited from the sending customer's - account as a consequence of the transaction. - payeeReceiveAmount: - allOf: - - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - description: >- - The amount that will be credited to the receiving customer's - account as a consequence of the transaction. - fees: - allOf: - - title: Money - type: object - description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 - description: >- - The amount of fees that the paying customer will be charged - as part of the transaction. - payer: - allOf: - - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: *ref_2 - required: *ref_3 - description: >- - Information about the Payer type, id, sub-type/id, FSP Id in - the proposed financial transaction. - payee: - allOf: - - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_9 - required: *ref_10 - description: >- - Information about the Payee in the proposed financial - transaction. - transactionType: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: *ref_67 - required: *ref_68 - expiration: - allOf: - - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical - format that is restricted by a regular expression for - interoperability reasons. The format is according to - [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), - expressed in a combined date, time and time zone format. - A more readable version of the format is - yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", - "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time - zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - description: >- - The time by which the transfer must be completed, set by the - payee DFSP. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_142 - - authorizationRequestId - - transactionRequestId - - challenge - - transferAmount - - payeeReceiveAmount - - fees - - payer - - payee - - transactionType - - expiration - additionalProperties: false + $ref: '#/components/schemas/ThirdpartyRequestsAuthorizationsPostRequest' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/authorizations/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: description: > The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is @@ -6895,48 +1579,26 @@ paths: - authorizations - sampled parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: description: > After receiving the **POST /thirdpartyRequests/authorizations**, the @@ -6955,17 +1617,7 @@ paths: tags: - authorizations parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Signed authorization object required: true @@ -6973,336 +1625,43 @@ paths: application/json: schema: oneOf: - - title: ThirdpartyRequestsAuthorizationsIDPutResponseRejected - type: object - description: >- - The object sent in the PUT - /thirdpartyRequests/authorizations/{ID} callback. - properties: &ref_144 - responseType: - title: AuthorizationResponseTypeRejected - description: | - The customer rejected the terms of the transfer. - type: string - enum: &ref_143 - - REJECTED - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_145 - - responseType - - title: ThirdpartyRequestsAuthorizationsIDPutResponseFIDO - type: object - description: >- - The object sent in the PUT - /thirdpartyRequests/authorizations/{ID} callback. - properties: &ref_148 - responseType: - title: AuthorizationResponseType - description: | - The customer accepted the terms of the transfer - type: string - enum: &ref_72 - - ACCEPTED - signedPayload: - title: SignedPayloadFIDO - type: object - properties: &ref_146 - signedPayloadType: - title: SignedPayloadTypeFIDO - type: string - enum: &ref_73 - - FIDO - description: >- - Describes a challenge that has been signed with FIDO - Attestation flows - fidoSignedPayload: - title: FIDOPublicKeyCredentialAssertion - type: object - description: > - A data model representing a FIDO Assertion result. - - Derived from PublicKeyCredential Interface in - WebAuthN. - - - The PublicKeyCredential interface represents the - below fields with a Type of - - Javascript ArrayBuffer. - - For this API, we represent ArrayBuffers as base64 - encoded utf-8 strings. - - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - properties: &ref_74 - id: - type: string - description: > - credential id: identifier of pair of keys, - base64 encoded - - https://w3c.github.io/webauthn/#ref-for-dom-credential-id - minLength: 59 - maxLength: 118 - rawId: - type: string - description: > - raw credential id: identifier of pair of keys, - base64 encoded. - minLength: 59 - maxLength: 118 - response: - type: object - description: | - AuthenticatorAssertionResponse - properties: - authenticatorData: - type: string - description: | - Authenticator data object. - minLength: 49 - maxLength: 256 - clientDataJSON: - type: string - description: | - JSON string with client data. - minLength: 121 - maxLength: 512 - signature: - type: string - description: > - The signature generated by the private key - associated with this credential. - minLength: 59 - maxLength: 256 - userHandle: - type: string - description: > - This field is optionally provided by the - authenticator, and - - represents the user.id that was supplied - during registration. - minLength: 1 - maxLength: 88 - required: - - authenticatorData - - clientDataJSON - - signature - additionalProperties: false - type: - type: string - description: >- - response type, we need only the type of - public-key - enum: - - public-key - required: &ref_75 - - id - - rawId - - response - - type - additionalProperties: false - required: &ref_147 - - signedPayloadType - - fidoSignedPayload - additionalProperties: false - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_149 - - responseType - - signedPayload - additionalProperties: false - - title: ThirdpartyRequestsAuthorizationsIDPutResponseGeneric - type: object - description: >- - The object sent in the PUT - /thirdpartyRequests/authorizations/{ID} callback. - properties: &ref_152 - responseType: - title: AuthorizationResponseType - description: | - The customer accepted the terms of the transfer - type: string - enum: *ref_72 - signedPayload: - title: SignedPayloadGeneric - type: object - properties: &ref_150 - signedPayloadType: - title: SignedPayloadTypeGeneric - type: string - enum: &ref_76 - - GENERIC - description: >- - Describes a challenge that has been signed with a - private key - genericSignedPayload: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: >- - The API data type BinaryString is a JSON String. The - string is a base64url encoding of a string of raw - bytes, where padding (character ‘=’) is added at the - end of the data if needed to ensure that the string - is a multiple of 4 characters. The length - restriction indicates the allowed number of - characters. - required: &ref_151 - - signedPayloadType - - genericSignedPayload - additionalProperties: false - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_153 - - responseType - - signedPayload - additionalProperties: false + - $ref: >- + #/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseRejected + - $ref: >- + #/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseFIDO + - $ref: >- + #/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseGeneric responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/authorizations/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: tags: - thirdpartyRequests @@ -7328,151 +1687,44 @@ paths: was invalid. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Error information returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/verifications: parameters: - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' post: tags: - thirdpartyRequests @@ -7483,24 +1735,8 @@ paths: The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Accept' + - $ref: '#/components/parameters/Content-Length' requestBody: description: The thirdparty authorization details to verify required: true @@ -7508,306 +1744,41 @@ paths: application/json: schema: oneOf: - - title: ThirdpartyRequestsVerificationsPostRequestFIDO - type: object - description: >- - The object sent in the POST - /thirdpartyRequests/verifications request. - properties: &ref_154 - verificationRequestId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - challenge: - type: string - description: >- - Base64 encoded bytes - The challenge generated by the - DFSP. - consentId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - The id of the stored consent object that contains the - credential with which to verify - - the signed challenge against. - signedPayloadType: - title: SignedPayloadTypeFIDO - type: string - enum: *ref_73 - description: >- - Describes a challenge that has been signed with FIDO - Attestation flows - fidoSignedPayload: - title: FIDOPublicKeyCredentialAssertion - type: object - description: > - A data model representing a FIDO Assertion result. - - Derived from PublicKeyCredential Interface in WebAuthN. - - - The PublicKeyCredential interface represents the below - fields with a Type of - - Javascript ArrayBuffer. - - For this API, we represent ArrayBuffers as base64 - encoded utf-8 strings. - - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - properties: *ref_74 - required: *ref_75 - additionalProperties: false - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_155 - - verificationRequestId - - challenge - - consentId - - signedPayloadType - - fidoSignedPayload - - title: ThirdpartyRequestsVerificationsPostRequestGeneric - type: object - description: >- - The object sent in the POST - /thirdpartyRequests/verifications request. - properties: &ref_156 - verificationRequestId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - challenge: - type: string - description: >- - Base64 encoded bytes - The challenge generated by the - DFSP. - consentId: - allOf: - - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same - sequence. The API data type UUID (Universally Unique - Identifier) is a JSON String in canonical format, - conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is - restricted by a regular expression for - interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes - (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - description: > - The id of the stored consent object that contains the - credential with which to verify - - the signed challenge against. - signedPayloadType: - title: SignedPayloadTypeGeneric - type: string - enum: *ref_76 - description: >- - Describes a challenge that has been signed with a - private key - genericSignedPayload: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: >- - The API data type BinaryString is a JSON String. The - string is a base64url encoding of a string of raw - bytes, where padding (character ‘=’) is added at the end - of the data if needed to ensure that the string is a - multiple of 4 characters. The length restriction - indicates the allowed number of characters. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An - optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_157 - - verificationRequestId - - challenge - - consentId - - signedPayloadType - - genericSignedPayload + - $ref: >- + #/components/schemas/ThirdpartyRequestsVerificationsPostRequestFIDO + - $ref: >- + #/components/schemas/ThirdpartyRequestsVerificationsPostRequestGeneric responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/verifications/{ID}: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' get: tags: - thirdpartyRequests @@ -7822,48 +1793,26 @@ paths: in the URI should contain the verification request ID parameters: - - name: Accept - in: header - required: true - schema: *ref_45 - description: >- - The `Accept` header field indicates the version of the API the - client would like the server to use. + - $ref: '#/components/parameters/Accept' responses: '202': - description: Accepted + $ref: '#/components/responses/202' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' put: tags: - thirdpartyRequests @@ -7882,186 +1831,48 @@ paths: In unplanned error cases the Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error`. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: The result of validating the Thirdparty Transaction Request required: true content: application/json: schema: - title: ThirdpartyRequestsVerificationsIDPutResponse - type: object - description: >- - Used by: Auth Service - - The callback PUT /thirdpartyRequests/verifications/{ID} is used - to inform the client of the result of an authorization check. - The {ID} in the URI should contain the authorizationRequestId - which was used to request the check, or the {ID} that was used - in the GET /thirdpartyRequests/verifications/{ID}. - - https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31821-put-thirdpartyrequestsverificationsid - properties: &ref_159 - authenticationResponse: - title: AuthenticationResponse - type: string - enum: &ref_158 - - VERIFIED - description: >- - The AuthenticationResponse enumeration describes the result - of authenticating verification request. - - Below are the allowed values for the enumeration - AuthenticationResponse. - VERIFIED - The challenge was - correctly signed. - extensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional - list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 - required: &ref_160 - - authenticationResponse + $ref: >- + #/components/schemas/ThirdpartyRequestsVerificationsIDPutResponse example: authenticationResponse: VERIFIED responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' /thirdpartyRequests/verifications/{ID}/error: parameters: - - name: ID - in: path - required: true - schema: *ref_34 - description: The identifier value. - - name: Content-Type - in: header - schema: *ref_35 - required: true - description: >- - The `Content-Type` header indicates the specific version of the API - used to send the payload body. - - name: Date - in: header - schema: *ref_36 - required: true - description: The `Date` header field indicates the date when the request was sent. - - name: X-Forwarded-For - in: header - schema: *ref_37 - required: false - description: >- - The `X-Forwarded-For` header field is an unofficially accepted - standard used for informational purposes of the originating client IP - address, as a request might pass multiple proxies, firewalls, and so - on. Multiple `X-Forwarded-For` values should be expected and supported - by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC - 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC - 7239 is less-used and supported than `X-Forwarded-For`. - - name: FSPIOP-Source - in: header - schema: *ref_38 - required: true - description: >- - The `FSPIOP-Source` header field is a non-HTTP standard field used by - the API for identifying the sender of the HTTP request. The field - should be set by the original sender of the request. Required for - routing and signature verification (see header field - `FSPIOP-Signature`). - - name: FSPIOP-Destination - in: header - schema: *ref_39 - required: false - description: >- - The `FSPIOP-Destination` header field is a non-HTTP standard field - used by the API for HTTP header based routing of requests and - responses to the destination. The field must be set by the original - sender of the request if the destination is known (valid for all - services except GET /parties) so that any entities between the client - and the server do not need to parse the payload for routing purposes. - If the destination is not known (valid for service GET /parties), the - field should be left empty. - - name: FSPIOP-Encryption - in: header - schema: *ref_40 - required: false - description: >- - The `FSPIOP-Encryption` header field is a non-HTTP standard field used - by the API for applying end-to-end encryption of the request. - - name: FSPIOP-Signature - in: header - schema: *ref_41 - required: false - description: >- - The `FSPIOP-Signature` header field is a non-HTTP standard field used - by the API for applying an end-to-end request signature. - - name: FSPIOP-URI - in: header - schema: *ref_42 - required: false - description: >- - The `FSPIOP-URI` header field is a non-HTTP standard field used by the - API for signature verification, should contain the service URI. - Required if signature verification is used, for more information, see - [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - - name: FSPIOP-HTTP-Method - in: header - schema: *ref_43 - required: false - description: >- - The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field - used by the API for signature verification, should contain the service - HTTP method. Required if signature verification is used, for more - information, see [the API Signature - document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + - $ref: '#/components/parameters/ID' + - $ref: '#/components/parameters/Content-Type' + - $ref: '#/components/parameters/Date' + - $ref: '#/components/parameters/X-Forwarded-For' + - $ref: '#/components/parameters/FSPIOP-Source' + - $ref: '#/components/parameters/FSPIOP-Destination' + - $ref: '#/components/parameters/FSPIOP-Encryption' + - $ref: '#/components/parameters/FSPIOP-Signature' + - $ref: '#/components/parameters/FSPIOP-URI' + - $ref: '#/components/parameters/FSPIOP-HTTP-Method' put: tags: - thirdpartyRequests @@ -8075,71 +1886,49 @@ paths: the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. parameters: - - name: Content-Length - in: header - required: false - schema: *ref_44 - description: >- - The `Content-Length` header field indicates the anticipated size of - the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 - Megabytes). + - $ref: '#/components/parameters/Content-Length' requestBody: description: Error information returned. required: true content: application/json: schema: - title: ErrorInformationObject - type: object - description: >- - Data model for the complex type object that contains - ErrorInformation. - properties: *ref_48 - required: *ref_49 + $ref: '#/components/schemas/ErrorInformationObject' responses: '200': - description: OK + $ref: '#/components/responses/200' '400': - description: Bad Request - content: *ref_18 - headers: *ref_19 + $ref: '#/components/responses/400' '401': - description: Unauthorized - content: *ref_20 - headers: *ref_21 + $ref: '#/components/responses/401' '403': - description: Forbidden - content: *ref_22 - headers: *ref_23 + $ref: '#/components/responses/403' '404': - description: Not Found - content: *ref_24 - headers: *ref_25 + $ref: '#/components/responses/404' '405': - description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + $ref: '#/components/responses/405' '406': - description: Not Acceptable - content: *ref_28 - headers: *ref_29 + $ref: '#/components/responses/406' '501': - description: Not Implemented - content: *ref_30 - headers: *ref_31 + $ref: '#/components/responses/501' '503': - description: Service Unavailable - content: *ref_32 - headers: *ref_33 + $ref: '#/components/responses/503' components: schemas: PartyIdType: title: PartyIdType type: string - enum: *ref_77 + enum: + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + - CONSENT + - THIRD_PARTY_LINK description: > Below are the allowed values for the enumeration. @@ -8287,22 +2076,48 @@ components: title: Extension type: object description: Data model for the complex type Extension. - properties: *ref_78 - required: *ref_79 + properties: + key: + $ref: '#/components/schemas/ExtensionKey' + value: + $ref: '#/components/schemas/ExtensionValue' + required: + - key + - value ExtensionList: title: ExtensionList type: object description: >- Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - properties: *ref_0 - required: *ref_1 + properties: + extension: + type: array + items: + $ref: '#/components/schemas/Extension' + minItems: 1 + maxItems: 16 + description: Number of Extension elements. + required: + - extension PartyIdInfo: title: PartyIdInfo type: object description: Data model for the complex type PartyIdInfo. - properties: *ref_2 - required: *ref_3 + properties: + partyIdType: + $ref: '#/components/schemas/PartyIdType' + partyIdentifier: + $ref: '#/components/schemas/PartyIdentifier' + partySubIdOrType: + $ref: '#/components/schemas/PartySubIdOrType' + fspId: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - partyIdType + - partyIdentifier ErrorCode: title: ErrorCode type: string @@ -8326,14 +2141,27 @@ components: title: ErrorInformation type: object description: Data model for the complex type ErrorInformation. - properties: *ref_13 - required: *ref_14 + properties: + errorCode: + $ref: '#/components/schemas/ErrorCode' + errorDescription: + $ref: '#/components/schemas/ErrorDescription' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - errorCode + - errorDescription PartyResult: title: PartyResult type: object description: Data model for the complex type PartyResult. - properties: *ref_7 - required: *ref_8 + properties: + partyId: + $ref: '#/components/schemas/PartyIdInfo' + errorInformation: + $ref: '#/components/schemas/ErrorInformation' + required: + - partyId Currency: title: Currency description: >- @@ -8344,13 +2172,189 @@ components: type: string minLength: 3 maxLength: 3 - enum: *ref_4 + enum: + - AED + - AFN + - ALL + - AMD + - ANG + - AOA + - ARS + - AUD + - AWG + - AZN + - BAM + - BBD + - BDT + - BGN + - BHD + - BIF + - BMD + - BND + - BOB + - BRL + - BSD + - BTN + - BWP + - BYN + - BZD + - CAD + - CDF + - CHF + - CLP + - CNY + - COP + - CRC + - CUC + - CUP + - CVE + - CZK + - DJF + - DKK + - DOP + - DZD + - EGP + - ERN + - ETB + - EUR + - FJD + - FKP + - GBP + - GEL + - GGP + - GHS + - GIP + - GMD + - GNF + - GTQ + - GYD + - HKD + - HNL + - HRK + - HTG + - HUF + - IDR + - ILS + - IMP + - INR + - IQD + - IRR + - ISK + - JEP + - JMD + - JOD + - JPY + - KES + - KGS + - KHR + - KMF + - KPW + - KRW + - KWD + - KYD + - KZT + - LAK + - LBP + - LKR + - LRD + - LSL + - LYD + - MAD + - MDL + - MGA + - MKD + - MMK + - MNT + - MOP + - MRO + - MUR + - MVR + - MWK + - MXN + - MYR + - MZN + - NAD + - NGN + - NIO + - NOK + - NPR + - NZD + - OMR + - PAB + - PEN + - PGK + - PHP + - PKR + - PLN + - PYG + - QAR + - RON + - RSD + - RUB + - RWF + - SAR + - SBD + - SCR + - SDG + - SEK + - SGD + - SHP + - SLL + - SOS + - SPL + - SRD + - STD + - SVC + - SYP + - SZL + - THB + - TJS + - TMT + - TND + - TOP + - TRY + - TTD + - TVD + - TWD + - TZS + - UAH + - UGX + - USD + - UYU + - UZS + - VEF + - VND + - VUV + - WST + - XAF + - XCD + - XDR + - XOF + - XPF + - XTS + - XXX + - YER + - ZAR + - ZMW + - ZWD ParticipantsIDPutResponse: title: ParticipantsIDPutResponse type: object description: The object sent in the PUT /participants/{ID} callback. - properties: *ref_62 - required: *ref_63 + properties: + partyList: + type: array + items: + $ref: '#/components/schemas/PartyResult' + minItems: 1 + maxItems: 10000 + description: >- + List of PartyResult elements that were either created or failed to + be created. + currency: + $ref: '#/components/schemas/Currency' + required: + - partyList MerchantClassificationCode: title: MerchantClassificationCode type: string @@ -8399,7 +2403,13 @@ components: title: PartyComplexName type: object description: Data model for the complex type PartyComplexName. - properties: *ref_80 + properties: + firstName: + $ref: '#/components/schemas/FirstName' + middleName: + $ref: '#/components/schemas/MiddleName' + lastName: + $ref: '#/components/schemas/LastName' DateOfBirth: title: DateofBirth (type Date) type: string @@ -8411,13 +2421,26 @@ components: title: PartyPersonalInfo type: object description: Data model for the complex type PartyPersonalInfo. - properties: *ref_81 + properties: + complexName: + $ref: '#/components/schemas/PartyComplexName' + dateOfBirth: + $ref: '#/components/schemas/DateOfBirth' Party: title: Party type: object description: Data model for the complex type Party. - properties: *ref_9 - required: *ref_10 + properties: + partyIdInfo: + $ref: '#/components/schemas/PartyIdInfo' + merchantClassificationCode: + $ref: '#/components/schemas/MerchantClassificationCode' + name: + $ref: '#/components/schemas/PartyName' + personalInfo: + $ref: '#/components/schemas/PartyPersonalInfo' + required: + - partyIdInfo PartiesTypeIDPutResponse: title: PartiesTypeIDPutResponse type: object @@ -8431,8 +2454,11 @@ components: Main difference being that it returns a `Party` with the newly added `accounts` property. - properties: *ref_82 - required: *ref_83 + properties: + party: + $ref: '#/components/schemas/Party' + required: + - party Amount: title: Amount type: string @@ -8449,8 +2475,14 @@ components: title: Money type: object description: Data model for the complex type Money. - properties: *ref_5 - required: *ref_6 + properties: + currency: + $ref: '#/components/schemas/Currency' + amount: + $ref: '#/components/schemas/Amount' + required: + - currency + - amount DateTime: title: DateTime type: string @@ -8490,8 +2522,14 @@ components: description: >- Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - properties: *ref_11 - required: *ref_12 + properties: + latitude: + $ref: '#/components/schemas/Latitude' + longitude: + $ref: '#/components/schemas/Longitude' + required: + - latitude + - longitude IlpPacket: title: IlpPacket type: string @@ -8511,12 +2549,38 @@ components: title: QuotesIDPutResponse type: object description: The object sent in the PUT /quotes/{ID} callback. - properties: *ref_84 - required: *ref_85 + properties: + transferAmount: + $ref: '#/components/schemas/Money' + payeeReceiveAmount: + $ref: '#/components/schemas/Money' + payeeFspFee: + $ref: '#/components/schemas/Money' + payeeFspCommission: + $ref: '#/components/schemas/Money' + expiration: + $ref: '#/components/schemas/DateTime' + geoCode: + $ref: '#/components/schemas/GeoCode' + ilpPacket: + $ref: '#/components/schemas/IlpPacket' + condition: + $ref: '#/components/schemas/IlpCondition' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transferAmount + - expiration + - ilpPacket + - condition TransactionRequestState: title: TransactionRequestState type: string - enum: *ref_69 + enum: + - RECEIVED + - PENDING + - ACCEPTED + - REJECTED description: |- Below are the allowed values for the enumeration. - RECEIVED - Payer FSP has received the transaction from the Payee FSP. @@ -8527,7 +2591,11 @@ components: TransactionState: title: TransactionState type: string - enum: *ref_86 + enum: + - RECEIVED + - PENDING + - COMPLETED + - REJECTED description: |- Below are the allowed values for the enumeration. - RECEIVED - Payee FSP has received the transaction from the Payer FSP. @@ -8552,19 +2620,32 @@ components: request. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations - properties: *ref_70 - required: *ref_71 + properties: + completedTimestamp: + $ref: '#/components/schemas/DateTime' + transactionRequestState: + $ref: '#/components/schemas/TransactionRequestState' + transactionState: + $ref: '#/components/schemas/TransactionState' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transactionRequestState + - transactionState AuthorizationResponseType: title: AuthorizationResponseType description: | Enum containing authorization response information; if the customer accepted the terms of the transfer, or rejected the terms. type: string - enum: *ref_87 + enum: + - ACCEPTED + - REJECTED ConsentStatusIssued: title: ConsentStatusIssued type: string - enum: *ref_51 + enum: + - ISSUED description: |- Allowed values for the enumeration ConsentStatus - ISSUED - The consent has been issued by the DFSP @@ -8593,7 +2674,8 @@ components: PartyIdTypeTPLink: title: PartyIdTypeTPLink type: string - enum: *ref_88 + enum: + - THIRD_PARTY_LINK description: > - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent @@ -8602,8 +2684,20 @@ components: title: PartyIdInfo type: object description: Data model for the complex type PartyIdInfo. - properties: *ref_89 - required: *ref_90 + properties: + partyIdType: + $ref: '#/components/schemas/PartyIdTypeTPLink' + partyIdentifier: + $ref: '#/components/schemas/PartyIdentifier' + partySubIdOrType: + $ref: '#/components/schemas/PartySubIdOrType' + fspId: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - partyIdType + - partyIdentifier ServiceType: title: ServiceType type: string @@ -8617,7 +2711,10 @@ components: - Participants which provide Authentication Services. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3229-servicetype - enum: *ref_91 + enum: + - THIRD_PARTY_DFSP + - PISP + - AUTH_SERVICE CorrelationId: title: CorrelationId type: string @@ -8635,12 +2732,29 @@ components: title: ParticipantsPostRequest type: object description: The object sent in the POST /participants request. - properties: *ref_60 - required: *ref_61 + properties: + requestId: + $ref: '#/components/schemas/CorrelationId' + partyList: + type: array + items: + $ref: '#/components/schemas/PartyIdInfo' + minItems: 1 + maxItems: 10000 + description: | + List of PartyIdInfo elements that the client would like to update + or create FSP information about. + currency: + $ref: '#/components/schemas/Currency' + required: + - requestId + - partyList AmountType: title: AmountType type: string - enum: *ref_66 + enum: + - SEND + - RECEIVE description: >- Below are the allowed values for the enumeration AmountType. @@ -8653,7 +2767,12 @@ components: TransactionScenario: title: TransactionScenario type: string - enum: *ref_92 + enum: + - DEPOSIT + - WITHDRAWAL + - TRANSFER + - PAYMENT + - REFUND description: >- Below are the allowed values for the enumeration. @@ -8689,7 +2808,9 @@ components: TransactionInitiator: title: TransactionInitiator type: string - enum: *ref_93 + enum: + - PAYER + - PAYEE description: >- Below are the allowed values for the enumeration. @@ -8705,7 +2826,11 @@ components: TransactionInitiatorType: title: TransactionInitiatorType type: string - enum: *ref_94 + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE description: |- Below are the allowed values for the enumeration. - CONSUMER - Consumer is the initiator of the transaction. @@ -8724,8 +2849,13 @@ components: title: Refund type: object description: Data model for the complex type Refund. - properties: *ref_95 - required: *ref_96 + properties: + originalTransactionId: + $ref: '#/components/schemas/CorrelationId' + refundReason: + $ref: '#/components/schemas/RefundReason' + required: + - originalTransactionId BalanceOfPayments: title: BalanceOfPayments type: string @@ -8740,21 +2870,115 @@ components: title: TransactionType type: object description: Data model for the complex type TransactionType. - properties: *ref_67 - required: *ref_68 + properties: + scenario: + $ref: '#/components/schemas/TransactionScenario' + subScenario: + $ref: '#/components/schemas/TransactionSubScenario' + initiator: + $ref: '#/components/schemas/TransactionInitiator' + initiatorType: + $ref: '#/components/schemas/TransactionInitiatorType' + refundInfo: + $ref: '#/components/schemas/Refund' + balanceOfPayments: + $ref: '#/components/schemas/BalanceOfPayments' + required: + - scenario + - initiator + - initiatorType QuotesPostRequest: title: QuotesPostRequest type: object description: The object sent in the POST /quotes request. - properties: *ref_97 - required: *ref_98 + properties: + quoteId: + $ref: '#/components/schemas/CorrelationId' + description: >- + Common ID between the FSPs for the quote object, decided by the + Payer FSP. The ID should be reused for resends of the same quote for + a transaction. A new ID should be generated for each new quote for a + transaction. + example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transactionId: + $ref: '#/components/schemas/CorrelationId' + description: >- + Common ID (decided by the Payer FSP) between the FSPs for the future + transaction object. The actual transaction will be created as part + of a successful transfer process. The ID should be reused for + resends of the same quote for a transaction. A new ID should be + generated for each new quote for a transaction. + example: a8323bc6-c228-4df2-ae82-e5a997baf899 + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + description: Identifies an optional previously-sent transaction request. + example: a8323bc6-c228-4df2-ae82-e5a997baf890 + payee: + $ref: '#/components/schemas/Party' + description: Information about the Payee in the proposed financial transaction. + payer: + $ref: '#/components/schemas/Party' + description: Information about the Payer in the proposed financial transaction. + amountType: + $ref: '#/components/schemas/AmountType' + description: SEND for send amount, RECEIVE for receive amount. + example: SEND + amount: + $ref: '#/components/schemas/Money' + description: >- + Depending on amountType - If SEND - The amount the Payer would like + to send, that is, the amount that should be withdrawn from the Payer + account including any fees. The amount is updated by each + participating entity in the transaction. If RECEIVE - The amount the + Payee should receive, that is, the amount that should be sent to the + receiver exclusive any fees. The amount is not updated by any of the + participating entities. + fees: + $ref: '#/components/schemas/Money' + description: >- + The fees in the transaction. The fees element should be empty if + fees should be non-disclosed. The fees element should be non-empty + if fees should be disclosed. + transactionType: + $ref: '#/components/schemas/TransactionType' + description: Type of transaction for which the quote is requested. + geoCode: + $ref: '#/components/schemas/GeoCode' + description: >- + Longitude and Latitude of the initiating Party. Can be used to + detect fraud. + note: + $ref: '#/components/schemas/Note' + description: A memo that will be attached to the transaction. + example: Free-text memo. + expiration: + $ref: '#/components/schemas/DateTime' + description: >- + Expiration is optional. It can be set to get a quick failure in case + the peer FSP takes too long to respond. Also, it may be beneficial + for Consumer, Agent, and Merchant to know that their request has a + time limit. + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + $ref: '#/components/schemas/ExtensionList' + description: Optional extension, specific to deployment. + required: + - quoteId + - transactionId + - payee + - payer + - amountType + - amount + - transactionType ErrorInformationResponse: title: ErrorInformationResponse type: object description: >- Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. - properties: *ref_15 + properties: + errorInformation: + $ref: '#/components/schemas/ErrorInformation' Name: title: Name type: string @@ -8808,8 +3032,17 @@ components: Data model for the complex type Account. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3211-account - properties: *ref_99 - required: *ref_100 + properties: + accountNickname: + $ref: '#/components/schemas/Name' + address: + $ref: '#/components/schemas/AccountAddress' + currency: + $ref: '#/components/schemas/Currency' + required: + - accountNickname + - address + - currency AccountList: title: AccountList type: array @@ -8818,7 +3051,8 @@ components: accounts that a party controls. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist - items: *ref_101 + items: + $ref: '#/components/schemas/Account' minItems: 1 maxItems: 256 AccountsIDPutResponse: @@ -8835,14 +3069,22 @@ components: the call are the values given in the original request. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31121--put-accountsid - properties: *ref_102 - required: *ref_103 + properties: + accounts: + $ref: '#/components/schemas/AccountList' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - accounts ErrorInformationObject: title: ErrorInformationObject type: object description: Data model for the complex type object that contains ErrorInformation. - properties: *ref_48 - required: *ref_49 + properties: + errorInformation: + $ref: '#/components/schemas/ErrorInformation' + required: + - errorInformation ScopeAction: title: ScopeAction type: string @@ -8862,7 +3104,10 @@ components: - ACCOUNTS_STATEMENT: PISP can request a statement of individual transactions on a user's account - enum: *ref_104 + enum: + - ACCOUNTS_GET_BALANCE + - ACCOUNTS_TRANSFER + - ACCOUNTS_STATEMENT Scope: title: Scope type: object @@ -8872,12 +3117,24 @@ components: also defines the access types which are requested or granted. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope - properties: *ref_46 - required: *ref_47 + properties: + address: + $ref: '#/components/schemas/AccountAddress' + actions: + type: array + minItems: 1 + maxItems: 32 + items: + $ref: '#/components/schemas/ScopeAction' + required: + - address + - actions ConsentRequestChannelType: title: ConsentRequestChannelType type: string - enum: *ref_105 + enum: + - WEB + - OTP description: | The auth channel being used for the consent request. - WEB - DFSP can support authorization via a web-based login. @@ -8907,12 +3164,43 @@ components: /consentRequests/{ID}/error Data model - see below url https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31212-post-consentrequests - properties: *ref_106 - required: *ref_107 + properties: + consentRequestId: + $ref: '#/components/schemas/CorrelationId' + userId: + type: string + description: >- + The identifier used in the **GET /accounts/**_{ID}_. Used by the + DFSP to correlate an account lookup to a `consentRequest` + minLength: 1 + maxLength: 128 + scopes: + type: array + minLength: 1 + maxLength: 256 + items: + $ref: '#/components/schemas/Scope' + authChannels: + type: array + minLength: 1 + maxLength: 256 + items: + $ref: '#/components/schemas/ConsentRequestChannelType' + callbackUri: + $ref: '#/components/schemas/Uri' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - consentRequestId + - userId + - scopes + - authChannels + - callbackUri ConsentRequestChannelTypeWeb: title: ConsentRequestChannelTypeWeb type: string - enum: *ref_108 + enum: + - WEB description: | The web auth channel being used for `PUT /consentRequest/{ID}` request. ConsentRequestsIDPutResponseWeb: @@ -8930,13 +3218,36 @@ components: supposed user should be redirected. This URL should be a place where the user can prove their identity (e.g., by logging in). - properties: *ref_109 - required: *ref_110 + properties: + scopes: + type: array + minLength: 1 + maxLength: 256 + items: + $ref: '#/components/schemas/Scope' + authChannels: + type: array + minLength: 1 + maxLength: 1 + items: + $ref: '#/components/schemas/ConsentRequestChannelTypeWeb' + callbackUri: + $ref: '#/components/schemas/Uri' + authUri: + $ref: '#/components/schemas/Uri' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - scopes + - authChannels + - callbackUri + - authUri additionalProperties: false ConsentRequestChannelTypeOTP: title: ConsentRequestChannelTypeOTP type: string - enum: *ref_111 + enum: + - OTP description: | The OTP auth channel being used for `PUT /consentRequests/{ID}` request. ConsentRequestsIDPutResponseOTP: @@ -8948,8 +3259,26 @@ components: Schema used in the request consent phase of the account linking OTP/SMS flow. - properties: *ref_112 - required: *ref_113 + properties: + scopes: + type: array + minLength: 1 + maxLength: 256 + items: + $ref: '#/components/schemas/Scope' + authChannels: + type: array + minLength: 1 + maxLength: 1 + items: + $ref: '#/components/schemas/ConsentRequestChannelTypeOTP' + callbackUri: + $ref: '#/components/schemas/Uri' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - scopes + - authChannels additionalProperties: false BinaryString: type: string @@ -8971,12 +3300,19 @@ components: the user trusts this PISP. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31222-patch-consentrequestsid - properties: *ref_114 - required: *ref_115 + properties: + authToken: + $ref: '#/components/schemas/BinaryString' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - authToken CredentialType: title: CredentialType type: string - enum: *ref_54 + enum: + - FIDO + - GENERIC description: >- The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - @@ -8987,7 +3323,8 @@ components: CredentialStatusPending: title: CredentialStatusPending type: string - enum: *ref_116 + enum: + - PENDING description: | The status of the Credential. - "PENDING" - The credential has been created, but has not been verified @@ -8997,8 +3334,14 @@ components: description: > A publicKey + signature of a challenge for a generic public/private keypair. - properties: *ref_56 - required: *ref_57 + properties: + publicKey: + $ref: '#/components/schemas/BinaryString' + signature: + $ref: '#/components/schemas/BinaryString' + required: + - publicKey + - signature additionalProperties: false FIDOPublicKeyCredentialAttestation: title: FIDOPublicKeyCredentialAttestation @@ -9016,8 +3359,50 @@ components: [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - properties: *ref_58 - required: *ref_59 + properties: + id: + type: string + description: | + credential id: identifier of pair of keys, base64 encoded + https://w3c.github.io/webauthn/#ref-for-dom-credential-id + minLength: 59 + maxLength: 118 + rawId: + type: string + description: | + raw credential id: identifier of pair of keys, base64 encoded + minLength: 59 + maxLength: 118 + response: + type: object + description: | + AuthenticatorAttestationResponse + properties: + clientDataJSON: + type: string + description: | + JSON string with client data + minLength: 121 + maxLength: 512 + attestationObject: + type: string + description: | + CBOR.encoded attestation object + minLength: 306 + maxLength: 2048 + required: + - clientDataJSON + - attestationObject + additionalProperties: false + type: + type: string + description: response type, we need only the type of public-key + enum: + - public-key + required: + - id + - response + - type additionalProperties: false SignedCredential: title: SignedCredential @@ -9035,13 +3420,25 @@ components: when updating a credential. - properties: *ref_52 - required: *ref_53 + properties: + credentialType: + $ref: '#/components/schemas/CredentialType' + status: + $ref: '#/components/schemas/CredentialStatusPending' + genericPayload: + $ref: '#/components/schemas/GenericCredential' + fidoPayload: + $ref: '#/components/schemas/FIDOPublicKeyCredentialAttestation' + required: + - credentialType + - status additionalProperties: false ConsentStatus: title: ConsentStatus type: string - enum: *ref_50 + enum: + - ISSUED + - REVOKED description: |- Allowed values for the enumeration ConsentStatus - ISSUED - The consent has been issued by the DFSP @@ -9052,16 +3449,72 @@ components: description: | The object sent in a `POST /consents` request to the Auth-Service by a DFSP to store registered Consent and credential - properties: *ref_117 - required: *ref_118 + properties: + consentId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: | + Common ID between the PISP and FSP for the Consent object + determined by the DFSP who creates the Consent. + consentRequestId: + $ref: '#/components/schemas/CorrelationId' + scopes: + minLength: 1 + maxLength: 256 + type: array + items: + $ref: '#/components/schemas/Scope' + credential: + allOf: + - $ref: '#/components/schemas/SignedCredential' + status: + $ref: '#/components/schemas/ConsentStatus' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - consentId + - scopes + - credential + - status additionalProperties: false ConsentsPostRequestPISP: title: ConsentPostRequestPISP type: object description: | The provisional Consent object sent by the DFSP in `POST /consents`. - properties: *ref_119 - required: *ref_120 + properties: + consentId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: > + Common ID between the PISP and the Payer DFSP for the consent + object. The ID + + should be reused for re-sends of the same consent. A new ID should + be generated + + for each new consent. + consentRequestId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: > + The ID given to the original consent request on which this consent + is based. + scopes: + type: array + minLength: 1 + maxLength: 256 + items: + $ref: '#/components/schemas/Scope' + status: + $ref: '#/components/schemas/ConsentStatus' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - consentId + - consentRequestId + - scopes + - status ConsentsIDPutResponseSigned: title: ConsentsIDPutResponseSigned type: object @@ -9071,13 +3524,26 @@ components: Called by a `PISP` to after signing a challenge. Sent to a DFSP for verification. - properties: *ref_121 - required: *ref_122 + properties: + status: + $ref: '#/components/schemas/ConsentStatusIssued' + scopes: + type: array + items: + $ref: '#/components/schemas/Scope' + credential: + $ref: '#/components/schemas/SignedCredential' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - scopes + - credential additionalProperties: false CredentialStatusVerified: title: CredentialStatusVerified type: string - enum: *ref_55 + enum: + - VERIFIED description: | The status of the Credential. - "VERIFIED" - The Credential is valid and verified. @@ -9097,8 +3563,18 @@ components: when updating a credential. - properties: *ref_123 - required: *ref_124 + properties: + credentialType: + $ref: '#/components/schemas/CredentialType' + status: + $ref: '#/components/schemas/CredentialStatusVerified' + genericPayload: + $ref: '#/components/schemas/GenericCredential' + fidoPayload: + $ref: '#/components/schemas/FIDOPublicKeyCredentialAttestation' + required: + - credentialType + - status additionalProperties: false ConsentsIDPutResponseVerified: title: ConsentsIDPutResponseVerified @@ -9109,8 +3585,20 @@ components: Called by a `auth-service` to notify a DFSP that a credential has been verified and registered. - properties: *ref_125 - required: *ref_126 + properties: + status: + $ref: '#/components/schemas/ConsentStatusIssued' + scopes: + type: array + items: + $ref: '#/components/schemas/Scope' + credential: + $ref: '#/components/schemas/VerifiedCredential' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - scopes + - credential additionalProperties: false ConsentsIDPatchResponseVerified: title: ConsentsIDPatchResponseVerified @@ -9120,12 +3608,23 @@ components: Sent by the DFSP to the PISP when a consent is issued and verified. Used in the "Register Credential" part of the Account linking flow. type: object - properties: *ref_127 - required: *ref_128 + properties: + credential: + type: object + properties: + status: + $ref: '#/components/schemas/CredentialStatusVerified' + required: + - status + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - credential ConsentStatusRevoked: title: ConsentStatusRevoked type: string - enum: *ref_129 + enum: + - REVOKED description: |- Allowed values for the enumeration ConsentStatus - REVOKED - The consent has been revoked @@ -9137,15 +3636,25 @@ components: Sent to both the PISP and DFSP when a consent is revoked. Used in the "Unlinking" part of the Account Unlinking flow. type: object - properties: *ref_130 - required: *ref_131 + properties: + status: + $ref: '#/components/schemas/ConsentStatusRevoked' + revokedAt: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - status + - revokedAt ParticipantsTypeIDPutResponse: title: ParticipantsTypeIDPutResponse type: object description: >- The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. - properties: *ref_132 + properties: + fspId: + $ref: '#/components/schemas/FspId' ParticipantsTypeIDSubIDPostRequest: title: ParticipantsTypeIDSubIDPostRequest type: object @@ -9153,8 +3662,15 @@ components: The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. An additional optional ExtensionList element has been added as part of v1.1 changes. - properties: *ref_133 - required: *ref_134 + properties: + fspId: + $ref: '#/components/schemas/FspId' + currency: + $ref: '#/components/schemas/Currency' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - fspId ServicesServiceTypePutResponse: title: ServicesServiceTypePutResponse type: object @@ -9170,8 +3686,17 @@ components: /services/{ServiceType}/error Data Model - Empty body https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31531-put-servicesservicetype - properties: *ref_135 - required: *ref_136 + properties: + providers: + type: array + minLength: 0 + maxLength: 256 + items: + $ref: '#/components/schemas/FspId' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - providers ThirdpartyRequestsTransactionsPostRequest: title: ThirdpartyRequestsTransactionsPostRequest type: object @@ -9190,8 +3715,57 @@ components: below https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31712-post-thirdpartyrequeststransactions - properties: *ref_137 - required: *ref_138 + properties: + transactionRequestId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: > + Common ID between the PISP and the Payer DFSP for the transaction + request object. The ID should be reused for resends of the same + transaction request. A new ID should be generated for each new + transaction request. + payee: + allOf: + - $ref: '#/components/schemas/Party' + description: Information about the Payee in the proposed financial transaction. + payer: + allOf: + - $ref: '#/components/schemas/PartyIdInfo' + description: Information about the Payer in the proposed financial transaction. + amountType: + allOf: + - $ref: '#/components/schemas/AmountType' + description: SEND for sendAmount, RECEIVE for receiveAmount. + amount: + allOf: + - $ref: '#/components/schemas/Money' + description: Requested amount to be transferred from the Payer to Payee. + transactionType: + allOf: + - $ref: '#/components/schemas/TransactionType' + description: Type of transaction. + note: + type: string + minLength: 1 + maxLength: 256 + description: A memo that will be attached to the transaction. + expiration: + type: string + description: > + Date and time until when the transaction request is valid. It can be + set to get a quick failure in case the peer FSP takes too long to + respond. + example: '2016-05-24T08:38:08.699-04:00' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transactionRequestId + - payee + - payer + - amountType + - amount + - transactionType + - expiration ThirdpartyRequestsTransactionsIDPutResponse: title: ThirdpartyRequestsTransactionsIDPutResponse type: object @@ -9205,8 +3779,15 @@ components: callback. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31721-put-thirdpartyrequeststransactionsid - properties: *ref_139 - required: *ref_140 + properties: + transactionId: + $ref: '#/components/schemas/CorrelationId' + transactionRequestState: + $ref: '#/components/schemas/TransactionRequestState' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - transactionRequestState ThirdpartyRequestsAuthorizationsPostRequest: title: ThirdpartyRequestsAuthorizationsPostRequest description: >- @@ -9225,33 +3806,96 @@ components: https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations type: object - properties: *ref_141 - required: *ref_142 + properties: + authorizationRequestId: + $ref: '#/components/schemas/CorrelationId' + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + challenge: + type: string + description: The challenge that the PISP's client is to sign + transferAmount: + allOf: + - $ref: '#/components/schemas/Money' + description: >- + The amount that will be debited from the sending customer's account + as a consequence of the transaction. + payeeReceiveAmount: + allOf: + - $ref: '#/components/schemas/Money' + description: >- + The amount that will be credited to the receiving customer's account + as a consequence of the transaction. + fees: + allOf: + - $ref: '#/components/schemas/Money' + description: >- + The amount of fees that the paying customer will be charged as part + of the transaction. + payer: + allOf: + - $ref: '#/components/schemas/PartyIdInfo' + description: >- + Information about the Payer type, id, sub-type/id, FSP Id in the + proposed financial transaction. + payee: + allOf: + - $ref: '#/components/schemas/Party' + description: Information about the Payee in the proposed financial transaction. + transactionType: + $ref: '#/components/schemas/TransactionType' + expiration: + allOf: + - $ref: '#/components/schemas/DateTime' + description: >- + The time by which the transfer must be completed, set by the payee + DFSP. + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - authorizationRequestId + - transactionRequestId + - challenge + - transferAmount + - payeeReceiveAmount + - fees + - payer + - payee + - transactionType + - expiration additionalProperties: false AuthorizationResponseTypeRejected: title: AuthorizationResponseTypeRejected description: | The customer rejected the terms of the transfer. type: string - enum: *ref_143 + enum: + - REJECTED ThirdpartyRequestsAuthorizationsIDPutResponseRejected: title: ThirdpartyRequestsAuthorizationsIDPutResponseRejected type: object description: >- The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - properties: *ref_144 - required: *ref_145 + properties: + responseType: + $ref: '#/components/schemas/AuthorizationResponseTypeRejected' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - responseType AuthorizationResponseTypeAccepted: title: AuthorizationResponseType description: | The customer accepted the terms of the transfer type: string - enum: *ref_72 + enum: + - ACCEPTED SignedPayloadTypeFIDO: title: SignedPayloadTypeFIDO type: string - enum: *ref_73 + enum: + - FIDO description: Describes a challenge that has been signed with FIDO Attestation flows FIDOPublicKeyCredentialAssertion: title: FIDOPublicKeyCredentialAssertion @@ -9271,14 +3915,78 @@ components: https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - properties: *ref_74 - required: *ref_75 + properties: + id: + type: string + description: | + credential id: identifier of pair of keys, base64 encoded + https://w3c.github.io/webauthn/#ref-for-dom-credential-id + minLength: 59 + maxLength: 118 + rawId: + type: string + description: | + raw credential id: identifier of pair of keys, base64 encoded. + minLength: 59 + maxLength: 118 + response: + type: object + description: | + AuthenticatorAssertionResponse + properties: + authenticatorData: + type: string + description: | + Authenticator data object. + minLength: 49 + maxLength: 256 + clientDataJSON: + type: string + description: | + JSON string with client data. + minLength: 121 + maxLength: 512 + signature: + type: string + description: > + The signature generated by the private key associated with this + credential. + minLength: 59 + maxLength: 256 + userHandle: + type: string + description: | + This field is optionally provided by the authenticator, and + represents the user.id that was supplied during registration. + minLength: 1 + maxLength: 88 + required: + - authenticatorData + - clientDataJSON + - signature + additionalProperties: false + type: + type: string + description: response type, we need only the type of public-key + enum: + - public-key + required: + - id + - rawId + - response + - type additionalProperties: false SignedPayloadFIDO: title: SignedPayloadFIDO type: object - properties: *ref_146 - required: *ref_147 + properties: + signedPayloadType: + $ref: '#/components/schemas/SignedPayloadTypeFIDO' + fidoSignedPayload: + $ref: '#/components/schemas/FIDOPublicKeyCredentialAssertion' + required: + - signedPayloadType + - fidoSignedPayload additionalProperties: false ThirdpartyRequestsAuthorizationsIDPutResponseFIDO: title: ThirdpartyRequestsAuthorizationsIDPutResponseFIDO @@ -9286,19 +3994,34 @@ components: description: >- The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - properties: *ref_148 - required: *ref_149 + properties: + responseType: + $ref: '#/components/schemas/AuthorizationResponseTypeAccepted' + signedPayload: + $ref: '#/components/schemas/SignedPayloadFIDO' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - responseType + - signedPayload additionalProperties: false SignedPayloadTypeGeneric: title: SignedPayloadTypeGeneric type: string - enum: *ref_76 + enum: + - GENERIC description: Describes a challenge that has been signed with a private key SignedPayloadGeneric: title: SignedPayloadGeneric type: object - properties: *ref_150 - required: *ref_151 + properties: + signedPayloadType: + $ref: '#/components/schemas/SignedPayloadTypeGeneric' + genericSignedPayload: + $ref: '#/components/schemas/BinaryString' + required: + - signedPayloadType + - genericSignedPayload additionalProperties: false ThirdpartyRequestsAuthorizationsIDPutResponseGeneric: title: ThirdpartyRequestsAuthorizationsIDPutResponseGeneric @@ -9306,25 +4029,84 @@ components: description: >- The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - properties: *ref_152 - required: *ref_153 + properties: + responseType: + $ref: '#/components/schemas/AuthorizationResponseTypeAccepted' + signedPayload: + $ref: '#/components/schemas/SignedPayloadGeneric' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - responseType + - signedPayload additionalProperties: false ThirdpartyRequestsVerificationsPostRequestFIDO: title: ThirdpartyRequestsVerificationsPostRequestFIDO type: object description: The object sent in the POST /thirdpartyRequests/verifications request. - properties: *ref_154 - required: *ref_155 + properties: + verificationRequestId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + challenge: + type: string + description: Base64 encoded bytes - The challenge generated by the DFSP. + consentId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: > + The id of the stored consent object that contains the credential + with which to verify + + the signed challenge against. + signedPayloadType: + $ref: '#/components/schemas/SignedPayloadTypeFIDO' + fidoSignedPayload: + $ref: '#/components/schemas/FIDOPublicKeyCredentialAssertion' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - verificationRequestId + - challenge + - consentId + - signedPayloadType + - fidoSignedPayload ThirdpartyRequestsVerificationsPostRequestGeneric: title: ThirdpartyRequestsVerificationsPostRequestGeneric type: object description: The object sent in the POST /thirdpartyRequests/verifications request. - properties: *ref_156 - required: *ref_157 + properties: + verificationRequestId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + challenge: + type: string + description: Base64 encoded bytes - The challenge generated by the DFSP. + consentId: + allOf: + - $ref: '#/components/schemas/CorrelationId' + description: > + The id of the stored consent object that contains the credential + with which to verify + + the signed challenge against. + signedPayloadType: + $ref: '#/components/schemas/SignedPayloadTypeGeneric' + genericSignedPayload: + $ref: '#/components/schemas/BinaryString' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - verificationRequestId + - challenge + - consentId + - signedPayloadType + - genericSignedPayload AuthenticationResponse: title: AuthenticationResponse type: string - enum: *ref_158 + enum: + - VERIFIED description: >- The AuthenticationResponse enumeration describes the result of authenticating verification request. @@ -9344,19 +4126,26 @@ components: /thirdpartyRequests/verifications/{ID}. https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31821-put-thirdpartyrequestsverificationsid - properties: *ref_159 - required: *ref_160 + properties: + authenticationResponse: + $ref: '#/components/schemas/AuthenticationResponse' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - authenticationResponse parameters: ID: name: ID in: path required: true - schema: *ref_34 + schema: + type: string description: The identifier value. Content-Type: name: Content-Type in: header - schema: *ref_35 + schema: + type: string required: true description: >- The `Content-Type` header indicates the specific version of the API used @@ -9364,13 +4153,15 @@ components: Date: name: Date in: header - schema: *ref_36 + schema: + type: string required: true description: The `Date` header field indicates the date when the request was sent. X-Forwarded-For: name: X-Forwarded-For in: header - schema: *ref_37 + schema: + type: string required: false description: >- The `X-Forwarded-For` header field is an unofficially accepted standard @@ -9386,7 +4177,8 @@ components: FSPIOP-Source: name: FSPIOP-Source in: header - schema: *ref_38 + schema: + type: string required: true description: >- The `FSPIOP-Source` header field is a non-HTTP standard field used by @@ -9396,7 +4188,8 @@ components: FSPIOP-Destination: name: FSPIOP-Destination in: header - schema: *ref_39 + schema: + type: string required: false description: >- The `FSPIOP-Destination` header field is a non-HTTP standard field used @@ -9410,7 +4203,8 @@ components: FSPIOP-Encryption: name: FSPIOP-Encryption in: header - schema: *ref_40 + schema: + type: string required: false description: >- The `FSPIOP-Encryption` header field is a non-HTTP standard field used @@ -9418,7 +4212,8 @@ components: FSPIOP-Signature: name: FSPIOP-Signature in: header - schema: *ref_41 + schema: + type: string required: false description: >- The `FSPIOP-Signature` header field is a non-HTTP standard field used by @@ -9426,7 +4221,8 @@ components: FSPIOP-URI: name: FSPIOP-URI in: header - schema: *ref_42 + schema: + type: string required: false description: >- The `FSPIOP-URI` header field is a non-HTTP standard field used by the @@ -9437,7 +4233,8 @@ components: FSPIOP-HTTP-Method: name: FSPIOP-HTTP-Method in: header - schema: *ref_43 + schema: + type: string required: false description: >- The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used @@ -9449,7 +4246,8 @@ components: name: Accept in: header required: true - schema: *ref_45 + schema: + type: string description: >- The `Accept` header field indicates the version of the API the client would like the server to use. @@ -9457,7 +4255,8 @@ components: name: Content-Length in: header required: false - schema: *ref_44 + schema: + type: integer description: >- The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. @@ -9469,13 +4268,15 @@ components: name: Type in: path required: true - schema: *ref_64 + schema: + type: string description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ServiceType: name: ServiceType in: path required: true - schema: *ref_65 + schema: + type: string description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` responses: '200': @@ -9484,40 +4285,97 @@ components: description: Accepted '400': description: Bad Request - content: *ref_18 - headers: *ref_19 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '401': description: Unauthorized - content: *ref_20 - headers: *ref_21 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '403': description: Forbidden - content: *ref_22 - headers: *ref_23 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '404': description: Not Found - content: *ref_24 - headers: *ref_25 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '405': description: Method Not Allowed - content: *ref_26 - headers: *ref_27 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '406': description: Not Acceptable - content: *ref_28 - headers: *ref_29 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '501': description: Not Implemented - content: *ref_30 - headers: *ref_31 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' '503': description: Service Unavailable - content: *ref_32 - headers: *ref_33 + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInformationResponse' + headers: + Content-Length: + $ref: '#/components/headers/Content-Length' + Content-Type: + $ref: '#/components/headers/Content-Type' headers: Content-Length: required: false - schema: *ref_16 + schema: + type: integer description: >- The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. @@ -9526,7 +4384,8 @@ components: **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). Content-Type: - schema: *ref_17 + schema: + type: string required: true description: >- The `Content-Type` header indicates the specific version of the API used diff --git a/package-lock.json b/package-lock.json index 2a1793d6..68c3df82 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "@mojaloop/api-snippets", - "version": "17.0.1", + "version": "17.0.2-snapshot.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@mojaloop/api-snippets", - "version": "17.0.1", + "version": "17.0.2-snapshot.1", "license": "Apache-2.0", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.1.0", - "commander": "^9.4.1", + "commander": "^9.5.0", "jest-ts-auto-mock": "^2.1.0", "js-yaml": "^4.1.0", "json-refs": "^3.0.15", @@ -20,15 +20,15 @@ "ttypescript": "^1.5.15" }, "devDependencies": { - "@commitlint/cli": "^17.3.0", - "@commitlint/config-conventional": "^17.3.0", + "@commitlint/cli": "^17.4.1", + "@commitlint/config-conventional": "^17.4.0", "@redocly/openapi-cli": "^1.0.0-beta.94", - "@types/jest": "^29.2.4", - "@typescript-eslint/eslint-plugin": "^5.46.1", - "@typescript-eslint/parser": "^5.46.1", + "@types/jest": "^29.2.5", + "@typescript-eslint/eslint-plugin": "^5.48.0", + "@typescript-eslint/parser": "^5.48.0", "diff": "^5.1.0", - "eslint": "^8.29.0", - "eslint-config-prettier": "^8.5.0", + "eslint": "^8.31.0", + "eslint-config-prettier": "^8.6.0", "eslint-config-standard": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-cucumber": "^2.0.0", @@ -42,8 +42,8 @@ "jest-junit": "^15.0.0", "lint-staged": "^13.1.0", "npm-audit-resolver": "^3.0.0-7", - "npm-check-updates": "^16.6.0", - "prettier": "^2.8.1", + "npm-check-updates": "^16.6.2", + "prettier": "^2.8.2", "standard-version": "^9.5.0", "swagger-cli": "^4.0.4", "ts-jest": "^29.0.3", @@ -947,16 +947,16 @@ } }, "node_modules/@commitlint/cli": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.3.0.tgz", - "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.4.1.tgz", + "integrity": "sha512-W8OJwz+izY+fVwyUt1HveCDmABMZNRVZHSVPw/Bh9Y62tp11SmmQaycgbsYLMiMy7JGn4mAJqEGlSHS9Uti9ZQ==", "dev": true, "dependencies": { - "@commitlint/format": "^17.0.0", - "@commitlint/lint": "^17.3.0", - "@commitlint/load": "^17.3.0", - "@commitlint/read": "^17.2.0", - "@commitlint/types": "^17.0.0", + "@commitlint/format": "^17.4.0", + "@commitlint/lint": "^17.4.0", + "@commitlint/load": "^17.4.1", + "@commitlint/read": "^17.4.0", + "@commitlint/types": "^17.4.0", "execa": "^5.0.0", "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", @@ -971,9 +971,9 @@ } }, "node_modules/@commitlint/config-conventional": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", - "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.4.0.tgz", + "integrity": "sha512-G4XBf45J4ZMspO4NwBFzY3g/1Kb+B42BcIxeikF8wucQxcyxcmhRdjeQpRpS1XEcBq5pdtEEQFipuB9IuiNFhw==", "dev": true, "dependencies": { "conventional-changelog-conventionalcommits": "^5.0.0" @@ -997,12 +997,12 @@ } }, "node_modules/@commitlint/config-validator": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", - "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.0.tgz", + "integrity": "sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==", "dev": true, "dependencies": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "ajv": "^8.11.0" }, "engines": { @@ -1010,12 +1010,12 @@ } }, "node_modules/@commitlint/ensure": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.3.0.tgz", - "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.0.tgz", + "integrity": "sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==", "dev": true, "dependencies": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -1027,21 +1027,21 @@ } }, "node_modules/@commitlint/execute-rule": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", - "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", + "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", "dev": true, "engines": { "node": ">=v14" } }, "node_modules/@commitlint/format": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.0.0.tgz", - "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.4.0.tgz", + "integrity": "sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==", "dev": true, "dependencies": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "chalk": "^4.1.0" }, "engines": { @@ -1049,46 +1049,46 @@ } }, "node_modules/@commitlint/is-ignored": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", - "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.4.0.tgz", + "integrity": "sha512-mkRuBlPUaBimvSvJyIHEHEW1/jP1SqEI7NOoaO9/eyJkMbsaiv5b1QgDYL4ZXlHdS64RMV7Y21MVVzuIceImDA==", "dev": true, "dependencies": { - "@commitlint/types": "^17.0.0", - "semver": "7.3.7" + "@commitlint/types": "^17.4.0", + "semver": "7.3.8" }, "engines": { "node": ">=v14" } }, "node_modules/@commitlint/lint": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.3.0.tgz", - "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.4.0.tgz", + "integrity": "sha512-HG2YT4TUbQKs9v8QvpQjJ6OK+fhflsDB8M+D5tLrY79hbQOWA9mDKdRkABsW/AAhpNI9+zeGUWF3jj245jSHKw==", "dev": true, "dependencies": { - "@commitlint/is-ignored": "^17.2.0", - "@commitlint/parse": "^17.2.0", - "@commitlint/rules": "^17.3.0", - "@commitlint/types": "^17.0.0" + "@commitlint/is-ignored": "^17.4.0", + "@commitlint/parse": "^17.4.0", + "@commitlint/rules": "^17.4.0", + "@commitlint/types": "^17.4.0" }, "engines": { "node": ">=v14" } }, "node_modules/@commitlint/load": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.3.0.tgz", - "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.4.1.tgz", + "integrity": "sha512-6A7/LhIaQpL4ieciIDcVvK2d5z/UI1GBrtDaHm6sQSCL0265clB2/F7XKQNTJHXv9yG4LByT2r+QCpM4GugIfw==", "dev": true, "dependencies": { - "@commitlint/config-validator": "^17.1.0", - "@commitlint/execute-rule": "^17.0.0", - "@commitlint/resolve-extends": "^17.3.0", - "@commitlint/types": "^17.0.0", - "@types/node": "^14.0.0", + "@commitlint/config-validator": "^17.4.0", + "@commitlint/execute-rule": "^17.4.0", + "@commitlint/resolve-extends": "^17.4.0", + "@commitlint/types": "^17.4.0", + "@types/node": "*", "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", + "cosmiconfig": "^8.0.0", "cosmiconfig-typescript-loader": "^4.0.0", "lodash.isplainobject": "^4.0.6", "lodash.merge": "^4.6.2", @@ -1101,28 +1101,37 @@ "node": ">=v14" } }, - "node_modules/@commitlint/load/node_modules/@types/node": { - "version": "14.18.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.34.tgz", - "integrity": "sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA==", - "dev": true + "node_modules/@commitlint/load/node_modules/cosmiconfig": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz", + "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + } }, "node_modules/@commitlint/message": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.2.0.tgz", - "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.4.0.tgz", + "integrity": "sha512-USGJDU9PPxcgQjKXCzvPUal65KAhxWq3hp+MrU1pNCN2itWM654CLIoY2LMIQ7rScTli9B5dTLH3vXhzbItmzA==", "dev": true, "engines": { "node": ">=v14" } }, "node_modules/@commitlint/parse": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.2.0.tgz", - "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.4.0.tgz", + "integrity": "sha512-x8opKc5p+Hgs+CrMbq3VAnW2L2foPAX6arW8u9c8nTzksldGgFsENT+XVyPmpSMLlVBswZ1tndcz1xyKiY9TJA==", "dev": true, "dependencies": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "conventional-changelog-angular": "^5.0.11", "conventional-commits-parser": "^3.2.2" }, @@ -1131,14 +1140,14 @@ } }, "node_modules/@commitlint/read": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.2.0.tgz", - "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.4.0.tgz", + "integrity": "sha512-pGDeZpbkyvhxK8ZoCDUacPPRpauKPWF3n2XpDBEnuGreqUF2clq2PVJpwMMaNN5cHW8iFKCbcoOjXhD01sln0A==", "dev": true, "dependencies": { - "@commitlint/top-level": "^17.0.0", - "@commitlint/types": "^17.0.0", - "fs-extra": "^10.0.0", + "@commitlint/top-level": "^17.4.0", + "@commitlint/types": "^17.4.0", + "fs-extra": "^11.0.0", "git-raw-commits": "^2.0.0", "minimist": "^1.2.6" }, @@ -1147,13 +1156,13 @@ } }, "node_modules/@commitlint/resolve-extends": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", - "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.0.tgz", + "integrity": "sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==", "dev": true, "dependencies": { - "@commitlint/config-validator": "^17.1.0", - "@commitlint/types": "^17.0.0", + "@commitlint/config-validator": "^17.4.0", + "@commitlint/types": "^17.4.0", "import-fresh": "^3.0.0", "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", @@ -1164,15 +1173,15 @@ } }, "node_modules/@commitlint/rules": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.3.0.tgz", - "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.4.0.tgz", + "integrity": "sha512-lz3i1jet2NNjTWpAMwjjQjMZCPWBIHK1Kkja9o09UmUtMjRdALTb8uMLe8gCyeq3DiiZ5lLYOhbsoPK56xGQKA==", "dev": true, "dependencies": { - "@commitlint/ensure": "^17.3.0", - "@commitlint/message": "^17.2.0", - "@commitlint/to-lines": "^17.0.0", - "@commitlint/types": "^17.0.0", + "@commitlint/ensure": "^17.4.0", + "@commitlint/message": "^17.4.0", + "@commitlint/to-lines": "^17.4.0", + "@commitlint/types": "^17.4.0", "execa": "^5.0.0" }, "engines": { @@ -1180,18 +1189,18 @@ } }, "node_modules/@commitlint/to-lines": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.0.0.tgz", - "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz", + "integrity": "sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==", "dev": true, "engines": { "node": ">=v14" } }, "node_modules/@commitlint/top-level": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.0.0.tgz", - "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz", + "integrity": "sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==", "dev": true, "dependencies": { "find-up": "^5.0.0" @@ -1201,9 +1210,9 @@ } }, "node_modules/@commitlint/types": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", - "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.0.tgz", + "integrity": "sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==", "dev": true, "dependencies": { "chalk": "^4.1.0" @@ -1243,15 +1252,15 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -1294,9 +1303,9 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1906,9 +1915,9 @@ } }, "node_modules/@npmcli/promise-spawn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz", - "integrity": "sha512-+hcUpxgx0vEpDJI9Cn+lkTdKLoqKBXFCVps5H7FujEU2vLOp6KwqjLlxbnz8Wzgm8oEqW/u5FeNAXSFjLdCD0A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "dependencies": { "which": "^3.0.0" @@ -2310,9 +2319,9 @@ } }, "node_modules/@types/jest": { - "version": "29.2.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.4.tgz", - "integrity": "sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==", + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz", + "integrity": "sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2417,14 +2426,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", - "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", + "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/type-utils": "5.46.1", - "@typescript-eslint/utils": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/type-utils": "5.48.0", + "@typescript-eslint/utils": "5.48.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -2450,14 +2459,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", - "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", + "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", "debug": "^4.3.4" }, "engines": { @@ -2477,13 +2486,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", - "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", + "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1" + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2494,13 +2503,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", - "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", + "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.46.1", - "@typescript-eslint/utils": "5.46.1", + "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/utils": "5.48.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2521,9 +2530,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", - "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", + "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2534,13 +2543,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", - "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", + "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2561,16 +2570,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", - "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", + "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -2587,12 +2596,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", - "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", + "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/types": "5.48.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -3261,16 +3270,16 @@ } }, "node_modules/cacache": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.2.tgz", - "integrity": "sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", - "fs-minipass": "^2.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -3322,9 +3331,9 @@ } }, "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3744,9 +3753,9 @@ } }, "node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "engines": { "node": "^12.20.0 || >=14" } @@ -4900,13 +4909,13 @@ } }, "node_modules/eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", + "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -4925,7 +4934,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -4956,9 +4965,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -5530,9 +5539,9 @@ "dev": true }, "node_modules/espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, "dependencies": { "acorn": "^8.8.0", @@ -5898,9 +5907,9 @@ } }, "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", + "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -5908,19 +5917,19 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.14" } }, "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", "dev": true, "dependencies": { - "minipass": "^3.0.0" + "minipass": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/fs.realpath": { @@ -6337,9 +6346,9 @@ } }, "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6729,9 +6738,9 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -8819,6 +8828,18 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/make-fetch-happen/node_modules/glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -8848,9 +8869,9 @@ } }, "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -8859,6 +8880,18 @@ "node": ">=10" } }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/make-fetch-happen/node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -9090,9 +9123,9 @@ } }, "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, "dependencies": { "yallist": "^4.0.0" @@ -9113,6 +9146,18 @@ "node": ">= 8" } }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-fetch": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", @@ -9130,6 +9175,18 @@ "encoding": "^0.1.13" } }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", @@ -9142,6 +9199,18 @@ "node": ">= 8" } }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-json-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", @@ -9152,6 +9221,18 @@ "minipass": "^3.0.0" } }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -9164,6 +9245,18 @@ "node": ">=8" } }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minipass-sized": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", @@ -9176,6 +9269,18 @@ "node": ">=8" } }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -9189,6 +9294,18 @@ "node": ">= 8" } }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -9274,9 +9391,9 @@ } }, "node_modules/node-gyp": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", - "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "dependencies": { "env-paths": "^2.2.0", @@ -9294,7 +9411,7 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.22 || ^14.13 || >=16" + "node": "^12.13 || ^14.13 || >=16" } }, "node_modules/node-int64": { @@ -9478,12 +9595,12 @@ } }, "node_modules/npm-check-updates": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.0.tgz", - "integrity": "sha512-uYvGP8zTmMdPhXL1tjvvhIeWlAdbkejwzcIYNIJDjtvjbS5pbKh15V2E/bP6DjqTPqDCQcqgP//jxo2DJ8/pxA==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.2.tgz", + "integrity": "sha512-J/L90a+NDDWscBQGKIsPKer+qbQEQRJDpK+BPsVZf9YWDN5DCAMicPqRb+Emnxfi8QboiNmvDJWRUFFWRQzDMg==", "dev": true, "dependencies": { - "chalk": "^5.1.2", + "chalk": "^5.2.0", "cli-table": "^0.3.11", "commander": "^9.4.1", "fast-memoize": "^2.5.2", @@ -9496,9 +9613,9 @@ "json-parse-helpfulerror": "^1.0.3", "jsonlines": "^0.1.1", "lodash": "^4.17.21", - "minimatch": "^5.1.1", + "minimatch": "^5.1.2", "p-map": "^4.0.0", - "pacote": "15.0.6", + "pacote": "15.0.8", "parse-github-url": "^1.0.2", "progress": "^2.0.3", "prompts-ncu": "^2.5.1", @@ -9511,7 +9628,7 @@ "spawn-please": "^2.0.1", "untildify": "^4.0.0", "update-notifier": "^6.0.2", - "yaml": "^2.1.3" + "yaml": "^2.2.0" }, "bin": { "ncu": "build/src/bin/cli.js", @@ -9531,9 +9648,9 @@ } }, "node_modules/npm-check-updates/node_modules/chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -9573,9 +9690,9 @@ } }, "node_modules/npm-check-updates/node_modules/minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -9584,33 +9701,6 @@ "node": ">=10" } }, - "node_modules/npm-check-updates/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-check-updates/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm-check-updates/node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -9622,9 +9712,9 @@ } }, "node_modules/npm-check-updates/node_modules/yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", + "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", "dev": true, "engines": { "node": ">= 14" @@ -9652,9 +9742,9 @@ } }, "node_modules/npm-package-arg": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.0.0.tgz", - "integrity": "sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "dependencies": { "hosted-git-info": "^6.0.0", @@ -9688,9 +9778,9 @@ } }, "node_modules/npm-packlist": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.2.tgz", - "integrity": "sha512-d2+7RMySjVXssww23rV5NuIq1NzGvM04OlI5kwnvtYKfFTAPVs6Zxmxns2HRtJEA1oNj7D/BbFXeVAOLmW3N3Q==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "dependencies": { "ignore-walk": "^6.0.0" @@ -9715,13 +9805,13 @@ } }, "node_modules/npm-registry-fetch": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.2.tgz", - "integrity": "sha512-TMenrMagFA9KF81E2bkS5XRyzERK4KXu70vgXt5+i8FcrFeLNgNsc6e5hekTqjDwPDkL3HGn/holWcXDMfnFgw==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", "dev": true, "dependencies": { "make-fetch-happen": "^11.0.0", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", @@ -9742,9 +9832,9 @@ } }, "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.1.tgz", - "integrity": "sha512-clv3IblugXn2CDUmqFhNzii3rjKa46u5wNeivc+QlLXkGI5FjLX3rGboo+y2kwf1pd8W0iDiC384cemeDtw9kw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", @@ -9754,7 +9844,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", @@ -9769,12 +9859,12 @@ } }, "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.0.tgz", - "integrity": "sha512-NSx3k5gR4Q5Ts2poCM/19d45VwhVLBtJZ6ypYcthj2BwmDx/e7lW8Aadnyt3edd2W0ecb+b0o7FYLRYE2AGcQg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", "dev": true, "dependencies": { - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -10053,9 +10143,9 @@ } }, "node_modules/pacote": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.6.tgz", - "integrity": "sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", + "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", "dev": true, "dependencies": { "@npmcli/git": "^4.0.0", @@ -10063,8 +10153,8 @@ "@npmcli/promise-spawn": "^6.0.1", "@npmcli/run-script": "^6.0.0", "cacache": "^17.0.0", - "fs-minipass": "^2.1.0", - "minipass": "^3.1.6", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", "npm-package-arg": "^10.0.0", "npm-packlist": "^7.0.0", "npm-pick-manifest": "^8.0.0", @@ -10349,9 +10439,9 @@ } }, "node_modules/prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", "bin": { "prettier": "bin-prettier.js" }, @@ -10648,9 +10738,9 @@ } }, "node_modules/read-package-json-fast": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.1.tgz", - "integrity": "sha512-8+HW7Yo+cjfF+md8DqsZHgats2mxf7gGYow/+2JjxrftoHFZz9v4dzd0EubzYbkNaLxrTVcnllHwklXN2+7aTQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "dependencies": { "json-parse-even-better-errors": "^3.0.0", @@ -10728,9 +10818,9 @@ } }, "node_modules/read-package-json/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -11198,9 +11288,9 @@ "optional": true }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -11542,12 +11632,12 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "node_modules/ssri": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.0.tgz", - "integrity": "sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "minipass": "^4.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -12035,14 +12125,14 @@ } }, "node_modules/tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", "dev": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^4.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -12051,6 +12141,30 @@ "node": ">=10" } }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -13778,16 +13892,16 @@ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" }, "@commitlint/cli": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.3.0.tgz", - "integrity": "sha512-/H0md7TsKflKzVPz226VfXzVafJFO1f9+r2KcFvmBu08V0T56lZU1s8WL7/xlxqLMqBTVaBf7Ixtc4bskdEEZg==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.4.1.tgz", + "integrity": "sha512-W8OJwz+izY+fVwyUt1HveCDmABMZNRVZHSVPw/Bh9Y62tp11SmmQaycgbsYLMiMy7JGn4mAJqEGlSHS9Uti9ZQ==", "dev": true, "requires": { - "@commitlint/format": "^17.0.0", - "@commitlint/lint": "^17.3.0", - "@commitlint/load": "^17.3.0", - "@commitlint/read": "^17.2.0", - "@commitlint/types": "^17.0.0", + "@commitlint/format": "^17.4.0", + "@commitlint/lint": "^17.4.0", + "@commitlint/load": "^17.4.1", + "@commitlint/read": "^17.4.0", + "@commitlint/types": "^17.4.0", "execa": "^5.0.0", "lodash.isfunction": "^3.0.9", "resolve-from": "5.0.0", @@ -13796,9 +13910,9 @@ } }, "@commitlint/config-conventional": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.3.0.tgz", - "integrity": "sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.4.0.tgz", + "integrity": "sha512-G4XBf45J4ZMspO4NwBFzY3g/1Kb+B42BcIxeikF8wucQxcyxcmhRdjeQpRpS1XEcBq5pdtEEQFipuB9IuiNFhw==", "dev": true, "requires": { "conventional-changelog-conventionalcommits": "^5.0.0" @@ -13818,22 +13932,22 @@ } }, "@commitlint/config-validator": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.1.0.tgz", - "integrity": "sha512-Q1rRRSU09ngrTgeTXHq6ePJs2KrI+axPTgkNYDWSJIuS1Op4w3J30vUfSXjwn5YEJHklK3fSqWNHmBhmTR7Vdg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.0.tgz", + "integrity": "sha512-Sa/+8KNpDXz4zT4bVbz2fpFjvgkPO6u2V2fP4TKgt6FjmOw2z3eEX859vtfeaTav/ukBw0/0jr+5ZTZp9zCBhA==", "dev": true, "requires": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "ajv": "^8.11.0" } }, "@commitlint/ensure": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.3.0.tgz", - "integrity": "sha512-kWbrQHDoW5veIUQx30gXoLOCjWvwC6OOEofhPCLl5ytRPBDAQObMbxTha1Bt2aSyNE/IrJ0s0xkdZ1Gi3wJwQg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.0.tgz", + "integrity": "sha512-7oAxt25je0jeQ/E0O/M8L3ADb1Cvweu/5lc/kYF8g/kXatI0wxGE5La52onnAUAWeWlsuvBNar15WcrmDmr5Mw==", "dev": true, "requires": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "lodash.camelcase": "^4.3.0", "lodash.kebabcase": "^4.1.1", "lodash.snakecase": "^4.1.1", @@ -13842,56 +13956,56 @@ } }, "@commitlint/execute-rule": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz", - "integrity": "sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz", + "integrity": "sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA==", "dev": true }, "@commitlint/format": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.0.0.tgz", - "integrity": "sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.4.0.tgz", + "integrity": "sha512-Z2bWAU5+f1YZh9W76c84J8iLIWIvvm+mzqogTz0Nsc1x6EHW0Z2gI38g5HAjB0r0I3ZjR15IDEJKhsxyblcyhA==", "dev": true, "requires": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "chalk": "^4.1.0" } }, "@commitlint/is-ignored": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.2.0.tgz", - "integrity": "sha512-rgUPUQraHxoMLxiE8GK430HA7/R2vXyLcOT4fQooNrZq9ERutNrP6dw3gdKLkq22Nede3+gEHQYUzL4Wu75ndg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.4.0.tgz", + "integrity": "sha512-mkRuBlPUaBimvSvJyIHEHEW1/jP1SqEI7NOoaO9/eyJkMbsaiv5b1QgDYL4ZXlHdS64RMV7Y21MVVzuIceImDA==", "dev": true, "requires": { - "@commitlint/types": "^17.0.0", - "semver": "7.3.7" + "@commitlint/types": "^17.4.0", + "semver": "7.3.8" } }, "@commitlint/lint": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.3.0.tgz", - "integrity": "sha512-VilOTPg0i9A7CCWM49E9bl5jytfTvfTxf9iwbWAWNjxJ/A5mhPKbm3sHuAdwJ87tDk1k4j8vomYfH23iaY+1Rw==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.4.0.tgz", + "integrity": "sha512-HG2YT4TUbQKs9v8QvpQjJ6OK+fhflsDB8M+D5tLrY79hbQOWA9mDKdRkABsW/AAhpNI9+zeGUWF3jj245jSHKw==", "dev": true, "requires": { - "@commitlint/is-ignored": "^17.2.0", - "@commitlint/parse": "^17.2.0", - "@commitlint/rules": "^17.3.0", - "@commitlint/types": "^17.0.0" + "@commitlint/is-ignored": "^17.4.0", + "@commitlint/parse": "^17.4.0", + "@commitlint/rules": "^17.4.0", + "@commitlint/types": "^17.4.0" } }, "@commitlint/load": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.3.0.tgz", - "integrity": "sha512-u/pV6rCAJrCUN+HylBHLzZ4qj1Ew3+eN9GBPhNi9otGxtOfA8b+8nJSxaNbcC23Ins/kcpjGf9zPSVW7628Umw==", + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.4.1.tgz", + "integrity": "sha512-6A7/LhIaQpL4ieciIDcVvK2d5z/UI1GBrtDaHm6sQSCL0265clB2/F7XKQNTJHXv9yG4LByT2r+QCpM4GugIfw==", "dev": true, "requires": { - "@commitlint/config-validator": "^17.1.0", - "@commitlint/execute-rule": "^17.0.0", - "@commitlint/resolve-extends": "^17.3.0", - "@commitlint/types": "^17.0.0", - "@types/node": "^14.0.0", + "@commitlint/config-validator": "^17.4.0", + "@commitlint/execute-rule": "^17.4.0", + "@commitlint/resolve-extends": "^17.4.0", + "@commitlint/types": "^17.4.0", + "@types/node": "*", "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", + "cosmiconfig": "^8.0.0", "cosmiconfig-typescript-loader": "^4.0.0", "lodash.isplainobject": "^4.0.6", "lodash.merge": "^4.6.2", @@ -13901,52 +14015,58 @@ "typescript": "^4.6.4" }, "dependencies": { - "@types/node": { - "version": "14.18.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.34.tgz", - "integrity": "sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA==", - "dev": true + "cosmiconfig": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz", + "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==", + "dev": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } } } }, "@commitlint/message": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.2.0.tgz", - "integrity": "sha512-/4l2KFKxBOuoEn1YAuuNNlAU05Zt7sNsC9H0mPdPm3chOrT4rcX0pOqrQcLtdMrMkJz0gC7b3SF80q2+LtdL9Q==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.4.0.tgz", + "integrity": "sha512-USGJDU9PPxcgQjKXCzvPUal65KAhxWq3hp+MrU1pNCN2itWM654CLIoY2LMIQ7rScTli9B5dTLH3vXhzbItmzA==", "dev": true }, "@commitlint/parse": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.2.0.tgz", - "integrity": "sha512-vLzLznK9Y21zQ6F9hf8D6kcIJRb2haAK5T/Vt1uW2CbHYOIfNsR/hJs0XnF/J9ctM20Tfsqv4zBitbYvVw7F6Q==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.4.0.tgz", + "integrity": "sha512-x8opKc5p+Hgs+CrMbq3VAnW2L2foPAX6arW8u9c8nTzksldGgFsENT+XVyPmpSMLlVBswZ1tndcz1xyKiY9TJA==", "dev": true, "requires": { - "@commitlint/types": "^17.0.0", + "@commitlint/types": "^17.4.0", "conventional-changelog-angular": "^5.0.11", "conventional-commits-parser": "^3.2.2" } }, "@commitlint/read": { - "version": "17.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.2.0.tgz", - "integrity": "sha512-bbblBhrHkjxra3ptJNm0abxu7yeAaxumQ8ZtD6GIVqzURCETCP7Dm0tlVvGRDyXBuqX6lIJxh3W7oyKqllDsHQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.4.0.tgz", + "integrity": "sha512-pGDeZpbkyvhxK8ZoCDUacPPRpauKPWF3n2XpDBEnuGreqUF2clq2PVJpwMMaNN5cHW8iFKCbcoOjXhD01sln0A==", "dev": true, "requires": { - "@commitlint/top-level": "^17.0.0", - "@commitlint/types": "^17.0.0", - "fs-extra": "^10.0.0", + "@commitlint/top-level": "^17.4.0", + "@commitlint/types": "^17.4.0", + "fs-extra": "^11.0.0", "git-raw-commits": "^2.0.0", "minimist": "^1.2.6" } }, "@commitlint/resolve-extends": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.3.0.tgz", - "integrity": "sha512-Lf3JufJlc5yVEtJWC8o4IAZaB8FQAUaVlhlAHRACd0TTFizV2Lk2VH70et23KgvbQNf7kQzHs/2B4QZalBv6Cg==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.0.tgz", + "integrity": "sha512-3JsmwkrCzoK8sO22AzLBvNEvC1Pmdn/65RKXzEtQMy6oYMl0Snrq97a5bQQEFETF0VsvbtUuKttLqqgn99OXRQ==", "dev": true, "requires": { - "@commitlint/config-validator": "^17.1.0", - "@commitlint/types": "^17.0.0", + "@commitlint/config-validator": "^17.4.0", + "@commitlint/types": "^17.4.0", "import-fresh": "^3.0.0", "lodash.mergewith": "^4.6.2", "resolve-from": "^5.0.0", @@ -13954,37 +14074,37 @@ } }, "@commitlint/rules": { - "version": "17.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.3.0.tgz", - "integrity": "sha512-s2UhDjC5yP2utx3WWqsnZRzjgzAX8BMwr1nltC0u0p8T/nzpkx4TojEfhlsOUj1t7efxzZRjUAV0NxNwdJyk+g==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.4.0.tgz", + "integrity": "sha512-lz3i1jet2NNjTWpAMwjjQjMZCPWBIHK1Kkja9o09UmUtMjRdALTb8uMLe8gCyeq3DiiZ5lLYOhbsoPK56xGQKA==", "dev": true, "requires": { - "@commitlint/ensure": "^17.3.0", - "@commitlint/message": "^17.2.0", - "@commitlint/to-lines": "^17.0.0", - "@commitlint/types": "^17.0.0", + "@commitlint/ensure": "^17.4.0", + "@commitlint/message": "^17.4.0", + "@commitlint/to-lines": "^17.4.0", + "@commitlint/types": "^17.4.0", "execa": "^5.0.0" } }, "@commitlint/to-lines": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.0.0.tgz", - "integrity": "sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz", + "integrity": "sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg==", "dev": true }, "@commitlint/top-level": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.0.0.tgz", - "integrity": "sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz", + "integrity": "sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g==", "dev": true, "requires": { "find-up": "^5.0.0" } }, "@commitlint/types": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.0.0.tgz", - "integrity": "sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==", + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.4.0.tgz", + "integrity": "sha512-2NjAnq5IcxY9kXtUeO2Ac0aPpvkuOmwbH/BxIm36XXK5LtWFObWJWjXOA+kcaABMrthjWu6la+FUpyYFMHRvbA==", "dev": true, "requires": { "chalk": "^4.1.0" @@ -14020,15 +14140,15 @@ } }, "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.4.0", - "globals": "^13.15.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -14063,9 +14183,9 @@ "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -14540,9 +14660,9 @@ "dev": true }, "@npmcli/promise-spawn": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.1.tgz", - "integrity": "sha512-+hcUpxgx0vEpDJI9Cn+lkTdKLoqKBXFCVps5H7FujEU2vLOp6KwqjLlxbnz8Wzgm8oEqW/u5FeNAXSFjLdCD0A==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "requires": { "which": "^3.0.0" @@ -14887,9 +15007,9 @@ } }, "@types/jest": { - "version": "29.2.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.4.tgz", - "integrity": "sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A==", + "version": "29.2.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.2.5.tgz", + "integrity": "sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw==", "dev": true, "requires": { "expect": "^29.0.0", @@ -14994,14 +15114,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", - "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", + "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/type-utils": "5.46.1", - "@typescript-eslint/utils": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/type-utils": "5.48.0", + "@typescript-eslint/utils": "5.48.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -15011,53 +15131,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", - "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", + "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", - "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", + "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", "dev": true, "requires": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1" + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0" } }, "@typescript-eslint/type-utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", - "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", + "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.46.1", - "@typescript-eslint/utils": "5.46.1", + "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/utils": "5.48.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", - "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", + "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", - "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", + "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/visitor-keys": "5.48.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -15066,28 +15186,28 @@ } }, "@typescript-eslint/utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", - "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", + "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/scope-manager": "5.48.0", + "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", - "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", + "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/types": "5.48.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -15578,16 +15698,16 @@ } }, "cacache": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.2.tgz", - "integrity": "sha512-rYUs2x4OjSgCQND7nTrh21AHIBFgd7s/ctAYvU3a8u+nK+R5YaX/SFPDYz4Azz7SGL6+6L9ZZWI4Kawpb7grzQ==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "requires": { "@npmcli/fs": "^3.1.0", - "fs-minipass": "^2.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -15627,9 +15747,9 @@ "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -15948,9 +16068,9 @@ } }, "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" }, "compare-func": { "version": "2.0.0", @@ -16836,13 +16956,13 @@ "dev": true }, "eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", + "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -16861,7 +16981,7 @@ "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.15.0", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", @@ -16928,9 +17048,9 @@ } }, "eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", "dev": true, "requires": {} }, @@ -17275,9 +17395,9 @@ "dev": true }, "espree": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", - "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "dev": true, "requires": { "acorn": "^8.8.0", @@ -17557,9 +17677,9 @@ "dev": true }, "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", + "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", "dev": true, "requires": { "graceful-fs": "^4.2.0", @@ -17568,12 +17688,12 @@ } }, "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", "dev": true, "requires": { - "minipass": "^3.0.0" + "minipass": "^4.0.0" } }, "fs.realpath": { @@ -17887,9 +18007,9 @@ } }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -18179,9 +18299,9 @@ } }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -19755,6 +19875,15 @@ "unique-filename": "^2.0.0" } }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -19775,14 +19904,23 @@ "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -19952,9 +20090,9 @@ } }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -19967,6 +20105,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-fetch": { @@ -19979,6 +20128,17 @@ "minipass": "^3.1.6", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-flush": { @@ -19988,6 +20148,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-json-stream": { @@ -19998,6 +20169,17 @@ "requires": { "jsonparse": "^1.3.1", "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-pipeline": { @@ -20007,6 +20189,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minipass-sized": { @@ -20016,6 +20209,17 @@ "dev": true, "requires": { "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "minizlib": { @@ -20026,6 +20230,17 @@ "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "mkdirp": { @@ -20090,9 +20305,9 @@ } }, "node-gyp": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", - "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "requires": { "env-paths": "^2.2.0", @@ -20247,12 +20462,12 @@ } }, "npm-check-updates": { - "version": "16.6.0", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.0.tgz", - "integrity": "sha512-uYvGP8zTmMdPhXL1tjvvhIeWlAdbkejwzcIYNIJDjtvjbS5pbKh15V2E/bP6DjqTPqDCQcqgP//jxo2DJ8/pxA==", + "version": "16.6.2", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.2.tgz", + "integrity": "sha512-J/L90a+NDDWscBQGKIsPKer+qbQEQRJDpK+BPsVZf9YWDN5DCAMicPqRb+Emnxfi8QboiNmvDJWRUFFWRQzDMg==", "dev": true, "requires": { - "chalk": "^5.1.2", + "chalk": "^5.2.0", "cli-table": "^0.3.11", "commander": "^9.4.1", "fast-memoize": "^2.5.2", @@ -20265,9 +20480,9 @@ "json-parse-helpfulerror": "^1.0.3", "jsonlines": "^0.1.1", "lodash": "^4.17.21", - "minimatch": "^5.1.1", + "minimatch": "^5.1.2", "p-map": "^4.0.0", - "pacote": "15.0.6", + "pacote": "15.0.8", "parse-github-url": "^1.0.2", "progress": "^2.0.3", "prompts-ncu": "^2.5.1", @@ -20280,7 +20495,7 @@ "spawn-please": "^2.0.1", "untildify": "^4.0.0", "update-notifier": "^6.0.2", - "yaml": "^2.1.3" + "yaml": "^2.2.0" }, "dependencies": { "brace-expansion": { @@ -20293,9 +20508,9 @@ } }, "chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "dev": true }, "hosted-git-info": { @@ -20320,34 +20535,14 @@ "dev": true }, "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -20359,9 +20554,9 @@ } }, "yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", + "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", "dev": true } } @@ -20382,9 +20577,9 @@ "dev": true }, "npm-package-arg": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.0.0.tgz", - "integrity": "sha512-7dkh8mRp7s0KwVHKIVJnFCJQ2B34gOGnzgBjDGyprycmARq/82SX/lhilQ95ZuacP/G/1gsS345iAkKmxWBQ2Q==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "requires": { "hosted-git-info": "^6.0.0", @@ -20411,9 +20606,9 @@ } }, "npm-packlist": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.2.tgz", - "integrity": "sha512-d2+7RMySjVXssww23rV5NuIq1NzGvM04OlI5kwnvtYKfFTAPVs6Zxmxns2HRtJEA1oNj7D/BbFXeVAOLmW3N3Q==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "requires": { "ignore-walk": "^6.0.0" @@ -20432,13 +20627,13 @@ } }, "npm-registry-fetch": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.2.tgz", - "integrity": "sha512-TMenrMagFA9KF81E2bkS5XRyzERK4KXu70vgXt5+i8FcrFeLNgNsc6e5hekTqjDwPDkL3HGn/holWcXDMfnFgw==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", "dev": true, "requires": { "make-fetch-happen": "^11.0.0", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", @@ -20453,9 +20648,9 @@ "dev": true }, "make-fetch-happen": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.1.tgz", - "integrity": "sha512-clv3IblugXn2CDUmqFhNzii3rjKa46u5wNeivc+QlLXkGI5FjLX3rGboo+y2kwf1pd8W0iDiC384cemeDtw9kw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", @@ -20465,7 +20660,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", @@ -20477,13 +20672,13 @@ } }, "minipass-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.0.tgz", - "integrity": "sha512-NSx3k5gR4Q5Ts2poCM/19d45VwhVLBtJZ6ypYcthj2BwmDx/e7lW8Aadnyt3edd2W0ecb+b0o7FYLRYE2AGcQg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", "dev": true, "requires": { "encoding": "^0.1.13", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" } @@ -20679,9 +20874,9 @@ } }, "pacote": { - "version": "15.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.6.tgz", - "integrity": "sha512-dQwcz/sME7QIL+cdrw/jftQfMMXxSo17i2kJ/gnhBhUvvBAsxoBu1lw9B5IzCH/Ce8CvEkG/QYZ6txzKfn0bTw==", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", + "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", "dev": true, "requires": { "@npmcli/git": "^4.0.0", @@ -20689,8 +20884,8 @@ "@npmcli/promise-spawn": "^6.0.1", "@npmcli/run-script": "^6.0.0", "cacache": "^17.0.0", - "fs-minipass": "^2.1.0", - "minipass": "^3.1.6", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", "npm-package-arg": "^10.0.0", "npm-packlist": "^7.0.0", "npm-pick-manifest": "^8.0.0", @@ -20898,9 +21093,9 @@ "dev": true }, "prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==" + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -21159,9 +21354,9 @@ "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -21182,9 +21377,9 @@ } }, "read-package-json-fast": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.1.tgz", - "integrity": "sha512-8+HW7Yo+cjfF+md8DqsZHgats2mxf7gGYow/+2JjxrftoHFZz9v4dzd0EubzYbkNaLxrTVcnllHwklXN2+7aTQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "requires": { "json-parse-even-better-errors": "^3.0.0", @@ -21523,9 +21718,9 @@ "optional": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -21788,12 +21983,12 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "ssri": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.0.tgz", - "integrity": "sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "requires": { - "minipass": "^3.1.1" + "minipass": "^4.0.0" } }, "stack-trace": { @@ -22153,17 +22348,39 @@ "dev": true }, "tar": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", - "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^4.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" + }, + "dependencies": { + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + } } }, "test-exclude": { diff --git a/package.json b/package.json index f2c57829..083bfe83 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mojaloop/api-snippets", - "version": "17.0.1", + "version": "17.0.2-snapshot.1", "description": "Mojaloop API specification reusable snippets", "main": "lib/index.js", "types": "lib/index.d.ts", @@ -22,11 +22,11 @@ "build:openapi": "npm run build:v1.0; npm run build:v1.1; npm run build:thirdparty; npm run build:sdk-scheme-adapter:backend; npm run build:sdk-scheme-adapter:outbound;", "build:v1.0": "openapi bundle --output docs/fspiop-rest-v1.0-openapi3-snippets.yaml --ext yaml fspiop/v1_0/openapi3/openapi.yaml && swagger-cli validate docs/fspiop-rest-v1.0-openapi3-snippets.yaml", "build:v1.1": "openapi bundle --output docs/fspiop-rest-v1.1-openapi3-snippets.yaml --ext yaml fspiop/v1_1/openapi3/openapi.yaml && swagger-cli validate docs/fspiop-rest-v1.1-openapi3-snippets.yaml", - "build:thirdparty": "openapi bundle --dereferenced --output docs/thirdparty-openapi3-snippets.yaml --ext yaml thirdparty/v1_0/openapi3/openapi.yaml && swagger-cli validate docs/thirdparty-openapi3-snippets.yaml", + "build:thirdparty": "openapi bundle --output docs/thirdparty-openapi3-snippets.yaml --ext yaml thirdparty/v1_0/openapi3/openapi.yaml && swagger-cli validate docs/thirdparty-openapi3-snippets.yaml", "build:thirdparty-dfsp": "swagger-cli bundle -o ./thirdparty/v1_0/openapi3/thirdparty-dfsp-api.yaml -t yaml ./thirdparty/v1_0/openapi3/thirdparty-dfsp-api.template.yaml", "build:thirdparty-pisp": "swagger-cli bundle -o ./thirdparty/v1_0/openapi3/thirdparty-pisp-api.yaml -t yaml ./thirdparty/v1_0/openapi3/thirdparty-pisp-api.template.yaml", - "build:sdk-scheme-adapter:backend": "openapi bundle --dereferenced --output docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml --ext yaml sdk-scheme-adapter/v2_0_0/backend/openapi.yaml && swagger-cli validate docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml", - "build:sdk-scheme-adapter:outbound": "openapi bundle --dereferenced --output docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml --ext yaml sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml && swagger-cli validate docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml", + "build:sdk-scheme-adapter:backend": "openapi bundle --output docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml --ext yaml sdk-scheme-adapter/v2_0_0/backend/openapi.yaml && swagger-cli validate docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml", + "build:sdk-scheme-adapter:outbound": "openapi bundle --output docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml --ext yaml sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml && swagger-cli validate docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml", "build:schemas:sdk-scheme-adapter:backend": "npx ts-node --transpile-only src/scripts/json-schema-generator.ts docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml src/sdk-scheme-adapter/v2_0_0/backend", "build:schemas:sdk-scheme-adapter:outbound": "npx ts-node --transpile-only src/scripts/json-schema-generator.ts docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml src/sdk-scheme-adapter/v2_0_0/outbound", "lint": "eslint --ext ts --ext js test src", @@ -68,7 +68,7 @@ "license": "Apache-2.0", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.1.0", - "commander": "^9.4.1", + "commander": "^9.5.0", "jest-ts-auto-mock": "^2.1.0", "js-yaml": "^4.1.0", "json-refs": "^3.0.15", @@ -82,15 +82,15 @@ "@types/responselike": "^1.0.0" }, "devDependencies": { - "@commitlint/cli": "^17.3.0", - "@commitlint/config-conventional": "^17.3.0", + "@commitlint/cli": "^17.4.1", + "@commitlint/config-conventional": "^17.4.0", "@redocly/openapi-cli": "^1.0.0-beta.94", - "@types/jest": "^29.2.4", - "@typescript-eslint/eslint-plugin": "^5.46.1", - "@typescript-eslint/parser": "^5.46.1", + "@types/jest": "^29.2.5", + "@typescript-eslint/eslint-plugin": "^5.48.0", + "@typescript-eslint/parser": "^5.48.0", "diff": "^5.1.0", - "eslint": "^8.29.0", - "eslint-config-prettier": "^8.5.0", + "eslint": "^8.31.0", + "eslint-config-prettier": "^8.6.0", "eslint-config-standard": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-cucumber": "^2.0.0", @@ -104,8 +104,8 @@ "jest-junit": "^15.0.0", "lint-staged": "^13.1.0", "npm-audit-resolver": "^3.0.0-7", - "npm-check-updates": "^16.6.0", - "prettier": "^2.8.1", + "npm-check-updates": "^16.6.2", + "prettier": "^2.8.2", "standard-version": "^9.5.0", "swagger-cli": "^4.0.4", "ts-jest": "^29.0.3", diff --git a/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml b/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml index 7a64b0f1..bb14d081 100644 --- a/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml +++ b/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml @@ -73,40 +73,12 @@ paths: description: The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to amend information regarding a bulk transaction, i.e. when autoAcceptParty or autoAcceptQuote is false then the payer need to provide confirmation to proceed with further processing of the request. The `{bulkTransactionId}` in the URI should contain the `bulkTransactionId` that was used for the creation of the bulk transfer. operationId: BackendBulkTransactionsPut parameters: - - $ref: '#/components/parameters/bulkTransactionId' + - $ref: '../components/parameters/bulkTransactionId.yaml' requestBody: content: application/json: schema: - properties: - bulkHomeTransactionID: - description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - type: string - individualTransferResults: - description: List of individual transfers in a bulk transfer with accept party information. - items: - description: Data model for the 'individualTransfer' while accepting party or quote. - properties: - homeTransactionId: - description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - type: string - transactionId: - description: Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - title: CorrelationId - type: string - required: - - homeTransactionId - type: object - minItems: 1 - type: array - required: - - bulkHomeTransactionID - - individualTransferResults - type: object - description: Bulk transaction request body. - required: true + $ref: '../components/schemas/bulkTransactionResponse.yaml' responses: '202': description: Bulk transaction information successfully amended. @@ -384,20 +356,8 @@ paths: summary: Receive notification for a specific transfer. tags: - Transfers - components: parameters: - bulkTransactionId: - description: Identifier of the bulk transaction to continue as returned in. - in: path - name: bulkTransactionId - required: true - schema: - description: Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - title: CorrelationId - type: string idSubValue: description: A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. in: path @@ -455,46 +415,6 @@ components: pattern: ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ title: DateofBirth (type Date) type: string - Extension: - description: Data model for the complex type Extension - properties: - key: - $ref: '#/components/schemas/ExtensionKey' - description: Extension key. - value: - $ref: '#/components/schemas/ExtensionValue' - description: Extension value. - required: - - key - - value - title: Extension - type: object - ExtensionKey: - description: Extension key. - maxLength: 32 - minLength: 1 - title: ExtensionKey - type: string - ExtensionList: - description: Data model for the complex type ExtensionList - properties: - extension: - description: Number of Extension elements - items: - $ref: '#/components/schemas/Extension' - maxItems: 16 - minItems: 1 - type: array - required: - - extension - title: ExtensionList - type: object - ExtensionValue: - description: Extension value. - maxLength: 128 - minLength: 1 - title: ExtensionValue - type: string FirstName: description: First name of the Party (Name Type). example: Henrik @@ -533,6 +453,8 @@ components: type: string quoteId: $ref: '#/components/schemas/quoteId' + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' to: $ref: '#/components/schemas/transferParty' transactionId: @@ -607,6 +529,8 @@ components: maxLength: 128 minLength: 1 type: string + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' to: $ref: '#/components/schemas/transferParty' transactionType: @@ -651,147 +575,6 @@ components: pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$ title: MiddleName type: string - Party: - description: Data model for the complex type Party. - properties: - merchantClassificationCode: - $ref: '#/components/schemas/MerchantClassificationCode' - name: - $ref: '#/components/schemas/PartyName' - partyIdInfo: - $ref: '#/components/schemas/PartyIdInfo' - personalInfo: - $ref: '#/components/schemas/PartyPersonalInfo' - required: - - partyIdInfo - title: Party - type: object - PartyComplexName: - description: Data model for the complex type PartyComplexName. - properties: - displayName: - description: Display name of the sender if known - type: string - firstName: - $ref: '#/components/schemas/FirstName' - idSubValue: - description: The sub identifier string used to identify the sender - type: string - idType: - $ref: '#/components/schemas/idType' - idValue: - description: The identifier string used to identify the sender - type: string - lastName: - $ref: '#/components/schemas/LastName' - middleName: - $ref: '#/components/schemas/MiddleName' - type: - $ref: '#/components/schemas/payerType' - title: PartyComplexName - type: object - PartyIdInfo: - description: Data model for the complex type PartyIdInfo. - properties: - extensionList: - $ref: '#/components/schemas/ExtensionList' - fspId: - $ref: '#/components/schemas/FspId' - partyIdType: - $ref: '#/components/schemas/PartyIdType' - partyIdentifier: - $ref: '#/components/schemas/PartyIdentifier' - partySubIdOrType: - $ref: '#/components/schemas/PartySubIdOrType' - required: - - partyIdType - - partyIdentifier - title: PartyIdInfo - type: object - PartyIdType: - description: | - This is a variant based on FSPIOP `PartyIdType` specification. - Main difference being the CONSENT and THIRD_PARTY_LINK enums. - - Below are the allowed values for the enumeration. - - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - Number, that is, the phone number) is used as reference to a participant. - The MSISDN identifier should be in international format according to the - [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - international prefix. - - EMAIL - An email is used as reference to a - participant. The format of the email should be according to the informational - [RFC 3696](https://tools.ietf.org/html/rfc3696). - - PERSONAL_ID - A personal identifier is used as reference to a participant. - Examples of personal identification are passport number, birth certificate - number, and national registration number. The identifier number is added in - the PartyIdentifier element. The personal identifier type is added in the - PartySubIdOrType element. - - BUSINESS - A specific Business (for example, an organization or a company) - is used as reference to a participant. The BUSINESS identifier can be in any - format. To make a transaction connected to a specific username or bill number - in a Business, the PartySubIdOrType element should be used. - - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - specific business or organization is used as reference to a Party. - For referencing a specific device under a specific business or organization, - use the PartySubIdOrType element. - - ACCOUNT_ID - A bank account number or FSP account ID should be used as - reference to a participant. The ACCOUNT_ID identifier can be in any format, - as formats can greatly differ depending on country and FSP. - - IBAN - A bank account number or FSP account ID is used as reference to a - participant. The IBAN identifier can consist of up to 34 alphanumeric - characters and should be entered without whitespace. - - ALIAS An alias is used as reference to a participant. The alias should be - created in the FSP as an alternative reference to an account owner. - Another example of an alias is a username in the FSP system. - The ALIAS identifier can be in any format. It is also possible to use the - PartySubIdOrType element for identifying an account under an Alias defined - by the PartyIdentifier. - - CONSENT - TBD - - THIRD_PARTY_LINK - TBD - enum: - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - - CONSENT - - THIRD_PARTY_LINK - example: PERSONAL_ID - title: PartyIdType - type: string - PartyIdentifier: - description: Identifier of the Party. - example: '16135551212' - maxLength: 128 - minLength: 1 - title: PartyIdentifier - type: string - PartyName: - description: Name of the Party. Could be a real name or a nickname. - maxLength: 128 - minLength: 1 - title: PartyName - type: string - PartyPersonalInfo: - description: Data model for the complex type PartyPersonalInfo. - properties: - complexName: - $ref: '#/components/schemas/PartyComplexName' - dateOfBirth: - $ref: '#/components/schemas/DateOfBirth' - title: PartyPersonalInfo - type: object - PartySubIdOrType: - description: Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - maxLength: 128 - minLength: 1 - title: PartySubIdOrType - type: string amountCurrency: description: Object containing Amount and Currency of the transfer. properties: @@ -1082,13 +865,10 @@ components: properties: errorCode: $ref: '#/components/schemas/errorCode' - description: Specific error number. errorDescription: $ref: '#/components/schemas/errorDescription' - description: Error description string. extensionList: $ref: '#/components/schemas/extensionListComplex' - description: Optional list of extensions, specific to deployment. required: - errorCode - errorDescription @@ -1153,15 +933,10 @@ components: properties: completedTimestamp: $ref: '#/components/schemas/timestamp' - description: Time and date when the transaction was completed. - example: '2020-05-19T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/extensionList' - description: Optional extension, specific to deployment. transferState: $ref: '#/components/schemas/transferState' - description: State of the transfer. - example: COMMITTED required: - completedTimestamp - transferState @@ -1176,7 +951,7 @@ components: initiatedTimestamp: $ref: '#/components/schemas/timestamp' lastError: - $ref: '#/components/schemas/transferError' + $ref: '../components/schemas/transferError.yaml' prepare: properties: body: @@ -1250,33 +1025,21 @@ components: maxLength: 128 minLength: 1 type: string - ilpFulfilment: - description: Fulfilment that must be attached to the transfer by the Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - maxLength: 48 - pattern: ^[A-Za-z0-9-_]{43}$ - title: ilpFulfilment - type: string ilpPacketData: description: Object containing transfer object. properties: amount: $ref: '#/components/schemas/amountCurrency' - description: Amount and currency of the transaction payee: - $ref: '#/components/schemas/Party' - description: Information about the Payee in the proposed financial transaction. + $ref: '../components/schemas/Party.yaml' payer: - $ref: '#/components/schemas/Party' - description: Information about the Payer in the proposed financial transaction. + $ref: '../components/schemas/Party.yaml' quoteId: $ref: '#/components/schemas/quoteId' transactionId: $ref: '#/components/schemas/transactionId' - description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote. transactionType: $ref: '#/components/schemas/transactionTypeObject' - description: Information about type of transaction and initiator. required: - quoteId - transactionId @@ -1305,11 +1068,6 @@ components: description: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. pattern: ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ type: string - mojaloopError: - properties: - errorInformation: - $ref: '#/components/schemas/errorInformation' - type: object money: pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string @@ -1342,34 +1100,26 @@ components: properties: amount: $ref: '#/components/schemas/money' - description: Depending on `amountType`. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities. amountType: $ref: '#/components/schemas/amountType' - description: SEND for send amount, RECEIVE for receive amount. currency: $ref: '#/components/schemas/currency' expiration: $ref: '#/components/schemas/timestamp' - description: An optional deadline for responding to the quote request. extensionList: $ref: '#/components/schemas/extensionList' feesAmount: $ref: '#/components/schemas/money' - description: The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed. feesCurrency: $ref: '#/components/schemas/currency' from: $ref: '#/components/schemas/transferParty' - description: Information about the Payer in the proposed financial transaction. geoCode: $ref: '#/components/schemas/geoCode' - description: Longitude and Latitude of the initiating party. Can be used to detect fraud. initiator: $ref: '#/components/schemas/initiator' - description: Specifies if the initiator of the transfer is the Payer or Payee. initiatorType: $ref: '#/components/schemas/initiatorType' - description: Specifies the type of the transaction initiator. note: description: An optional note associated with the requested transfer. maxLength: 128 @@ -1377,15 +1127,14 @@ components: type: string quoteId: $ref: '#/components/schemas/quoteId' + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' to: $ref: '#/components/schemas/transferParty' - description: Information about the Payee in the proposed financial transaction. transactionId: $ref: '#/components/schemas/transactionId' - description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote. transactionType: $ref: '#/components/schemas/transactionType' - description: Type of transaction for which the quote is requested. required: - quoteId - transactionId @@ -1403,42 +1152,30 @@ components: properties: expiration: $ref: '#/components/schemas/timestamp' - description: Timestamp specifying the validity period of the quotation. extensionList: $ref: '#/components/schemas/extensionList' geoCode: $ref: '#/components/schemas/geoCode' - description: Longitude and Latitude of the Payee. Can be used to detect fraud. payeeFspCommissionAmount: $ref: '#/components/schemas/money' - description: Transaction commission from the Payee FSP. payeeFspCommissionAmountCurrency: $ref: '#/components/schemas/currency' - description: Currency of the `payeeFspCommissionAmount`. payeeFspFeeAmount: $ref: '#/components/schemas/money' - description: Payee FSP’s part of the transaction fee. payeeFspFeeAmountCurrency: $ref: '#/components/schemas/currency' - description: The currency of the `payeeFspFeeAmount`. payeeReceiveAmount: $ref: '#/components/schemas/money' - description: The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. payeeReceiveAmountCurrency: $ref: '#/components/schemas/currency' - description: The currency of the `payeeReceiveAmount`. quoteId: $ref: '#/components/schemas/quoteId' - description: ID of the quote that this response relates to. transactionId: $ref: '#/components/schemas/transactionId' - description: Identifier for the transaction, decided by the Payer FSP during the creation of the quote. transferAmount: $ref: '#/components/schemas/money' - description: The amount of money that the Payer FSP should transfer to the Payee FSP. transferAmountCurrency: $ref: '#/components/schemas/currency' - description: The currency of the `transferAmount`. required: - quoteId - transactionId @@ -1485,6 +1222,8 @@ components: $ref: '#/components/schemas/transactionRequestId' transactionType: $ref: '#/components/schemas/transactionType' + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' required: - transactionRequestId - to @@ -1517,6 +1256,12 @@ components: - ACCEPTED - REJECTED type: string + transactionSubScenario: + description: Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). Based on FSPIOP TransactionSubScenario. + example: LOCALLY_DEFINED_SUBSCENARIO + pattern: ^[A-Z_]{1,32}$ + title: transactionSubScenario + type: string transactionType: enum: - TRANSFER @@ -1530,9 +1275,10 @@ components: $ref: '#/components/schemas/initiator' initiatorType: $ref: '#/components/schemas/initiatorType' - description: Specifies the type of the transaction initiator. scenario: $ref: '#/components/schemas/scenario' + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' required: - scenario - initiator @@ -1556,6 +1302,8 @@ components: note: maxLength: 128 type: string + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' timestamp: $ref: '#/components/schemas/timestamp' to: @@ -1575,16 +1323,6 @@ components: - transactionType - timestamp type: object - transferError: - description: This object represents a Mojaloop API error received at any time during the transfer process. - properties: - httpStatusCode: - description: The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - type: integer - mojaloopError: - $ref: '#/components/schemas/mojaloopError' - description: If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. - type: object transferId: description: A Mojaloop API transfer identifier (UUID). pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ @@ -1650,6 +1388,8 @@ components: $ref: '#/components/schemas/quoteResponse' quoteRequestExtensions: $ref: '#/components/schemas/extensionList' + subScenario: + $ref: '../components/schemas/TransactionSubScenario.yaml' to: $ref: '#/components/schemas/transferParty' transactionType: @@ -1671,18 +1411,13 @@ components: properties: completedTimestamp: $ref: '#/components/schemas/timestamp' - description: Completed timestamp from the DFSP backend, used for testing purposes to inject a given completed timestamp via a rule. - example: '2020-05-19T08:38:08.699-04:00' fulfilment: - $ref: '#/components/schemas/ilpFulfilment' - description: Fulfilment from the DFSP backend, used for testing purposes to inject an invalid fulfilment via a rule. + $ref: '../components/schemas/IlpFulfilment.yaml' homeTransactionId: description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. type: string transferState: $ref: '#/components/schemas/transferState' - description: Transfer state from the DFSP backend, used for testing purposes to inject an desired transfer state via a rule. - example: ABORTED required: - homeTransactionId type: object diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/individualQuote.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/individualQuote.yaml index a31183c0..ec3c45f7 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/individualQuote.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/individualQuote.yaml @@ -14,6 +14,8 @@ properties: $ref: ./Amount.yaml transactionType: $ref: ./transferTransactionType.yaml + subScenario: + $ref: ./TransactionSubScenario.yaml note: $ref: ./Note.yaml extensions: diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml index d1ab8871..c6aafc63 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml @@ -14,6 +14,8 @@ properties: $ref: ./Amount.yaml transactionType: $ref: ./transferTransactionType.yaml + subScenario: + $ref: ./TransactionSubScenario.yaml ilpPacket: $ref: ./IlpPacket.yaml condition: diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/transferRequest.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/transferRequest.yaml index a732f8e0..7b61f62b 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/transferRequest.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/transferRequest.yaml @@ -25,6 +25,8 @@ properties: $ref: ./Amount.yaml transactionType: $ref: ./transferTransactionType.yaml + subScenario: + $ref: ./TransactionSubScenario.yaml note: $ref: ./Note.yaml quoteRequestExtensions: diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/transferResponse.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/transferResponse.yaml index 929e2016..a5aa35c8 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/transferResponse.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/transferResponse.yaml @@ -27,6 +27,8 @@ properties: $ref: ./Amount.yaml transactionType: $ref: ./transferTransactionType.yaml + subScenario: + $ref: ./TransactionSubScenario.yaml note: $ref: ./Note.yaml currentState: diff --git a/sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml b/sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml index 1910b01a..e6dfcb96 100644 --- a/sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml +++ b/sdk-scheme-adapter/v2_0_0/outbound/openapi.yaml @@ -22,10 +22,12 @@ info: paths: /: $ref: paths.yaml - /transfers: - $ref: paths/transfers.yaml - /transfers/{transferId}: - $ref: paths/transfers_transferId.yaml + /accounts: + $ref: paths/accounts.yaml + /bulkQuotes: + $ref: paths/bulkQuotes.yaml + /bulkQuotes/{bulkQuoteId}: + $ref: paths/bulkQuotes_bulkQuoteId.yaml /bulkTransactions: $ref: paths/bulkTransactions.yaml /bulkTransactions/{bulkTransactionId}: @@ -34,23 +36,21 @@ paths: $ref: paths/bulkTransfers.yaml /bulkTransfers/{bulkTransferId}: $ref: paths/bulkTransfers_bulkTransferId.yaml - /bulkQuotes: - $ref: paths/bulkQuotes.yaml - /bulkQuotes/{bulkQuoteId}: - $ref: paths/bulkQuotes_bulkQuoteId.yaml - /requestToPay: - $ref: paths/requestToPay.yaml - /requestToPayTransfer: - $ref: paths/requestToPayTransfer.yaml - /requestToPayTransfer/{requestToPayTransactionId}: - $ref: paths/requestToPayTransfer_requestToPayTransactionId.yaml - /accounts: - $ref: paths/accounts.yaml /parties/{Type}/{ID}: $ref: paths/parties_Type_ID.yaml /parties/{Type}/{ID}/{SubId}: $ref: paths/parties_Type_ID_SubId.yaml /quotes: $ref: paths/quotes.yaml + /requestToPay: + $ref: paths/requestToPay.yaml + /requestToPayTransfer: + $ref: paths/requestToPayTransfer.yaml + /requestToPayTransfer/{requestToPayTransactionId}: + $ref: paths/requestToPayTransfer_requestToPayTransactionId.yaml /simpleTransfers: $ref: paths/simpleTransfers.yaml + /transfers: + $ref: paths/transfers.yaml + /transfers/{transferId}: + $ref: paths/transfers_transferId.yaml diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json b/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json index 36c739b7..dc44a8c9 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json +++ b/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json @@ -1,106 +1,26 @@ { "DateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", "title": "DateofBirth (type Date)", - "type": "string" - }, - "Extension": { - "description": "Data model for the complex type Extension", - "properties": { - "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, - "title": "ExtensionKey", - "type": "string" - }, - "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, - "title": "ExtensionValue", - "type": "string" - } - }, - "required": [ - "key", - "value" - ], - "title": "Extension", - "type": "object" - }, - "ExtensionKey": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, - "title": "ExtensionKey", - "type": "string" - }, - "ExtensionList": { - "description": "Data model for the complex type ExtensionList", - "properties": { - "extension": { - "description": "Number of Extension elements", - "items": { - "description": "Data model for the complex type Extension", - "properties": { - "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, - "title": "ExtensionKey", - "type": "string" - }, - "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, - "title": "ExtensionValue", - "type": "string" - } - }, - "required": [ - "key", - "value" - ], - "title": "Extension", - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "ExtensionValue": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, - "title": "ExtensionValue", - "type": "string" + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" }, "FirstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, + "title": "FirstName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "FirstName", - "type": "string" + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, "FspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, "title": "FspId", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." }, "IndividualQuote": { "description": "Data model for individual quote in a bulk quote request.", @@ -489,6 +409,13 @@ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "to": { "properties": { "dateOfBirth": { @@ -1730,6 +1657,13 @@ "minLength": 1, "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "to": { "properties": { "dateOfBirth": { @@ -1889,442 +1823,281 @@ "type": "object" }, "LastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, + "title": "LastName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" }, "MerchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", "title": "MerchantClassificationCode", - "type": "string" + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." }, "MiddleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, + "title": "MiddleName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" }, - "Party": { - "description": "Data model for the complex type Party.", + "amountCurrency": { + "description": "Object containing Amount and Currency of the transfer.", "properties": { - "merchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", - "title": "MerchantClassificationCode", - "type": "string" - }, - "name": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", + "amount": { + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, - "partyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", - "properties": { - "extensionList": { - "description": "Data model for the complex type ExtensionList", - "properties": { - "extension": { - "description": "Number of Extension elements", - "items": { - "description": "Data model for the complex type Extension", - "properties": { - "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, - "title": "ExtensionKey", - "type": "string" - }, - "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, - "title": "ExtensionValue", - "type": "string" - } - }, - "required": [ - "key", - "value" - ], - "title": "Extension", - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, - "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" - }, - "personalInfo": { - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, - "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" - }, - "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" - }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" - } - }, - "title": "PartyComplexName", - "type": "object" - }, - "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "title": "DateofBirth (type Date)", - "type": "string" - } - }, - "title": "PartyPersonalInfo", - "type": "object" + "currency": { + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ], + "maxLength": 3, + "minLength": 3, + "type": "string" } }, "required": [ - "partyIdInfo" + "amount", + "currency" ], - "title": "Party", "type": "object" }, - "PartyComplexName": { - "description": "Data model for the complex type PartyComplexName.", + "amountType": { + "enum": [ + "SEND", + "RECEIVE" + ], + "type": "string" + }, + "bulkQuoteId": { + "description": "A Mojaloop API bulk quote identifier (UUID).", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "type": "string" + }, + "bulkQuoteRequest": { + "description": "A request for a bulk quote.", "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, - "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", + "bulkQuoteId": { + "description": "A Mojaloop API bulk quote identifier (UUID).", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "type": "string" }, - "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", + "expiration": { + "description": "An ISO-8601 formatted timestamp.", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", "type": "string" }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" - } - }, - "title": "PartyComplexName", - "type": "object" - }, - "PartyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", - "properties": { - "extensionList": { - "description": "Data model for the complex type ExtensionList", + "from": { "properties": { - "extension": { - "description": "Number of Extension elements", + "dateOfBirth": { + "description": "Date of birth in the form YYYY-MM-DD.", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "type": "string" + }, + "displayName": { + "description": "Display name of the sender, if known.", + "type": "string" + }, + "extensionList": { "items": { - "description": "Data model for the complex type Extension", "properties": { "key": { - "description": "Extension key.", "maxLength": 32, "minLength": 1, - "title": "ExtensionKey", "type": "string" }, "value": { - "description": "Extension value.", "maxLength": 128, "minLength": 1, - "title": "ExtensionValue", "type": "string" } }, - "required": [ - "key", - "value" - ], - "title": "Extension", "type": "object" }, "maxItems": 16, - "minItems": 1, + "minItems": 0, "type": "array" - } - }, - "required": [ - "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, - "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" - }, - "PartyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "PartyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "PartyName": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", - "type": "string" - }, - "PartyPersonalInfo": { - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" }, "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "FirstName", + "description": "Party first name.", + "type": "string" + }, + "fspId": { + "description": "Mojaloop scheme FSPID of the DFSP which owns the party account.", "type": "string" }, "idSubValue": { - "description": "The sub identifier string used to identify the sender", + "maxLength": 128, + "minLength": 1, "type": "string" }, "idType": { @@ -2342,25 +2115,19 @@ "type": "string" }, "idValue": { - "description": "The identifier string used to identify the sender", + "description": "The identifier string used to identify the sender.", "type": "string" }, "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", + "description": "Party last name.", + "type": "string" + }, + "merchantClassificationCode": { + "description": "Up to 4 digits specifying the sender's merchant classification, if known and applicable.", "type": "string" }, "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", + "description": "Party middle name.", "type": "string" }, "type": { @@ -2373,346 +2140,31 @@ "type": "string" } }, - "title": "PartyComplexName", + "required": [ + "idType", + "idValue" + ], "type": "object" }, - "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "title": "DateofBirth (type Date)", - "type": "string" - } - }, - "title": "PartyPersonalInfo", - "type": "object" - }, - "PartySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" - }, - "amountCurrency": { - "description": "Object containing Amount and Currency of the transfer.", - "properties": { - "amount": { - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "type": "string" - }, - "currency": { - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ], - "maxLength": 3, - "minLength": 3, - "type": "string" - } - }, - "required": [ - "amount", - "currency" - ], - "type": "object" - }, - "amountType": { - "enum": [ - "SEND", - "RECEIVE" - ], - "type": "string" - }, - "bulkQuoteId": { - "description": "A Mojaloop API bulk quote identifier (UUID).", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "type": "string" - }, - "bulkQuoteRequest": { - "description": "A request for a bulk quote.", - "properties": { - "bulkQuoteId": { - "description": "A Mojaloop API bulk quote identifier (UUID).", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "type": "string" - }, - "expiration": { - "description": "An ISO-8601 formatted timestamp.", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "type": "string" - }, - "from": { - "properties": { - "dateOfBirth": { - "description": "Date of birth in the form YYYY-MM-DD.", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "type": "string" - }, - "displayName": { - "description": "Display name of the sender, if known.", - "type": "string" - }, - "extensionList": { - "items": { - "properties": { - "key": { - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "value": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 16, - "minItems": 0, - "type": "array" - }, - "firstName": { - "description": "Party first name.", - "type": "string" - }, - "fspId": { - "description": "Mojaloop scheme FSPID of the DFSP which owns the party account.", - "type": "string" - }, - "idSubValue": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender.", - "type": "string" - }, - "lastName": { - "description": "Party last name.", - "type": "string" - }, - "merchantClassificationCode": { - "description": "Up to 4 digits specifying the sender's merchant classification, if known and applicable.", - "type": "string" - }, - "middleName": { - "description": "Party middle name.", - "type": "string" - }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" - } - }, - "required": [ - "idType", - "idValue" - ], - "type": "object" - }, - "geoCode": { - "description": "Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "type": "string" - }, - "longitude": { - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "type": "string" - } - }, - "required": [ - "latitude", - "longitude" - ], - "type": "object" + "geoCode": { + "description": "Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "type": "string" + }, + "longitude": { + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "type": "string" + } + }, + "required": [ + "latitude", + "longitude" + ], + "type": "object" }, "individualQuotes": { "items": { @@ -3102,6 +2554,13 @@ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "to": { "properties": { "dateOfBirth": { @@ -5260,6 +4719,13 @@ "minLength": 1, "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "to": { "properties": { "dateOfBirth": { @@ -5800,12 +5266,10 @@ "properties": { "completedTimestamp": { "description": "An ISO-8601 formatted timestamp.", - "example": "2020-05-19T08:38:08.699-04:00", "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", "type": "string" }, "extensionList": { - "description": "Optional extension, specific to deployment.", "items": { "properties": { "key": { @@ -5827,7 +5291,6 @@ }, "transferState": { "description": "Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.\n", - "example": "COMMITTED", "enum": [ "RECEIVED", "RESERVED", @@ -5860,74 +5323,86 @@ "type": "string" }, "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the transfer process.", + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", "properties": { "httpStatusCode": { - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.", - "type": "integer" + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, "mojaloopError": { "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", "properties": { "errorInformation": { - "description": "A Mojaloop API error information construct.", + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", "properties": { "errorCode": { - "description": "The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error.\n", - "pattern": "^[1-9]\\d{3}$", "title": "ErrorCode", - "type": "string" + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, "errorDescription": { - "description": "Error description string.", - "maxLength": 128, - "minLength": 1, "title": "ErrorDescription", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." }, "extensionList": { - "description": "Data model for the complex type ExtensionList.", + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { - "description": "Number of Extension elements.", + "type": "array", "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", "properties": { "key": { - "maxLength": 32, + "title": "ExtensionKey", + "type": "string", "minLength": 1, - "type": "string" + "maxLength": 32, + "description": "Extension key." }, "value": { - "maxLength": 128, + "title": "ExtensionValue", + "type": "string", "minLength": 1, - "type": "string" + "maxLength": 128, + "description": "Extension value." } }, - "type": "object" + "required": [ + "key", + "value" + ] }, - "maxItems": 16, "minItems": 1, - "type": "array" + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ "extension" - ], - "type": "object" + ] } }, "required": [ "errorCode", "errorDescription" - ], - "title": "ErrorInformation", - "type": "object" + ] } - }, - "type": "object" + } } - }, - "type": "object" + } }, "prepare": { "properties": { @@ -6040,14 +5515,6 @@ "minLength": 1, "type": "string" }, - "ilpFulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8", - "maxLength": 48, - "pattern": "^[A-Za-z0-9-_]{43}$", - "title": "ilpFulfilment", - "type": "string" - }, "ilpPacketData": { "description": "Object containing transfer object.", "properties": { @@ -6237,400 +5704,324 @@ "type": "object" }, "payee": { + "title": "Party", + "type": "object", "description": "Data model for the complex type Party.", "properties": { - "merchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", - "title": "MerchantClassificationCode", - "type": "string" - }, - "name": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", - "type": "string" - }, "partyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, "extensionList": { - "description": "Data model for the complex type ExtensionList", + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { - "description": "Number of Extension elements", + "type": "array", "items": { - "description": "Data model for the complex type Extension", + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", "properties": { "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, "title": "ExtensionKey", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, "title": "ExtensionValue", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } }, "required": [ "key", "value" - ], - "title": "Extension", - "type": "object" + ] }, - "maxItems": 16, "minItems": 1, - "type": "array" + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, - "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" + ] } }, "required": [ "partyIdType", "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", "description": "Data model for the complex type PartyPersonalInfo.", "properties": { "complexName": { + "title": "PartyComplexName", + "type": "object", "description": "Data model for the complex type PartyComplexName.", "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, + "title": "MiddleName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" } - }, - "title": "PartyComplexName", - "type": "object" + } }, "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", "title": "DateofBirth (type Date)", - "type": "string" + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } - }, - "title": "PartyPersonalInfo", - "type": "object" + } } }, "required": [ "partyIdInfo" - ], - "title": "Party", - "type": "object" + ] }, "payer": { + "title": "Party", + "type": "object", "description": "Data model for the complex type Party.", "properties": { - "merchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", - "title": "MerchantClassificationCode", - "type": "string" - }, - "name": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", - "type": "string" - }, "partyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, "extensionList": { - "description": "Data model for the complex type ExtensionList", + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { - "description": "Number of Extension elements", + "type": "array", "items": { - "description": "Data model for the complex type Extension", + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", "properties": { "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, "title": "ExtensionKey", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, "title": "ExtensionValue", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } }, "required": [ "key", "value" - ], - "title": "Extension", - "type": "object" + ] }, - "maxItems": 16, "minItems": 1, - "type": "array" + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, - "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" + ] } }, "required": [ "partyIdType", "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", "description": "Data model for the complex type PartyPersonalInfo.", "properties": { "complexName": { + "title": "PartyComplexName", + "type": "object", "description": "Data model for the complex type PartyComplexName.", "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, + "title": "MiddleName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" } - }, - "title": "PartyComplexName", - "type": "object" + } }, "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", "title": "DateofBirth (type Date)", - "type": "string" + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } - }, - "title": "PartyPersonalInfo", - "type": "object" + } } }, "required": [ "partyIdInfo" - ], - "title": "Party", - "type": "object" + ] }, "quoteId": { "description": "A Mojaloop API quote identifier (UUID).", @@ -6653,7 +6044,6 @@ "type": "string" }, "initiatorType": { - "description": "Specifies the type of the transaction initiator.", "enum": [ "CONSUMER", "AGENT", @@ -6667,6 +6057,13 @@ "TRANSFER" ], "type": "string" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" } }, "required": [ @@ -6713,65 +6110,6 @@ "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", "type": "string" }, - "mojaloopError": { - "properties": { - "errorInformation": { - "description": "A Mojaloop API error information construct.", - "properties": { - "errorCode": { - "description": "The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error.\n", - "pattern": "^[1-9]\\d{3}$", - "title": "ErrorCode", - "type": "string" - }, - "errorDescription": { - "description": "Error description string.", - "maxLength": 128, - "minLength": 1, - "title": "ErrorDescription", - "type": "string" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList.", - "properties": { - "extension": { - "description": "Number of Extension elements.", - "items": { - "properties": { - "key": { - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "value": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "extension" - ], - "type": "object" - } - }, - "required": [ - "errorCode", - "errorDescription" - ], - "title": "ErrorInformation", - "type": "object" - } - }, - "type": "object" - }, "money": { "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" @@ -6817,12 +6155,10 @@ "description": "A request for a quote for transfer from the DFSP backend.", "properties": { "amount": { - "description": "Depending on `amountType`. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "amountType": { - "description": "SEND for send amount, RECEIVE for receive amount.", "enum": [ "SEND", "RECEIVE" @@ -7026,7 +6362,6 @@ "type": "array" }, "feesAmount": { - "description": "The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, @@ -7202,7 +6537,6 @@ "type": "string" }, "from": { - "description": "Information about the Payer in the proposed financial transaction.", "properties": { "dateOfBirth": { "description": "Date of birth in the form YYYY-MM-DD.", @@ -7313,7 +6647,6 @@ "type": "object" }, "initiator": { - "description": "Specifies if the initiator of the transfer is the Payer or Payee.", "enum": [ "PAYER", "PAYEE" @@ -7321,7 +6654,6 @@ "type": "string" }, "initiatorType": { - "description": "Specifies the type of the transaction initiator.", "enum": [ "CONSUMER", "AGENT", @@ -7341,8 +6673,14 @@ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "to": { - "description": "Information about the Payee in the proposed financial transaction.", "properties": { "dateOfBirth": { "description": "Date of birth in the form YYYY-MM-DD.", @@ -7438,7 +6776,6 @@ "type": "string" }, "transactionType": { - "description": "Type of transaction for which the quote is requested.", "enum": [ "TRANSFER", "DEPOSIT", @@ -7510,12 +6847,10 @@ "type": "object" }, "payeeFspCommissionAmount": { - "description": "Transaction commission from the Payee FSP.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeFspCommissionAmountCurrency": { - "description": "Currency of the `payeeFspCommissionAmount`.", "enum": [ "AED", "AFN", @@ -7687,12 +7022,10 @@ "type": "string" }, "payeeFspFeeAmount": { - "description": "Payee FSP’s part of the transaction fee.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeFspFeeAmountCurrency": { - "description": "The currency of the `payeeFspFeeAmount`.", "enum": [ "AED", "AFN", @@ -7864,12 +7197,10 @@ "type": "string" }, "payeeReceiveAmount": { - "description": "The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeReceiveAmountCurrency": { - "description": "The currency of the `payeeReceiveAmount`.", "enum": [ "AED", "AFN", @@ -8051,12 +7382,10 @@ "type": "string" }, "transferAmount": { - "description": "The amount of money that the Payer FSP should transfer to the Payee FSP.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "transferAmountCurrency": { - "description": "The currency of the `transferAmount`.", "enum": [ "AED", "AFN", @@ -8669,6 +7998,13 @@ "PAYMENT" ], "type": "string" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" } }, "required": [ @@ -8721,6 +8057,13 @@ ], "type": "string" }, + "transactionSubScenario": { + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). Based on FSPIOP TransactionSubScenario.", + "example": "LOCALLY_DEFINED_SUBSCENARIO", + "pattern": "^[A-Z_]{1,32}$", + "title": "transactionSubScenario", + "type": "string" + }, "transactionType": { "enum": [ "TRANSFER", @@ -8740,7 +8083,6 @@ "type": "string" }, "initiatorType": { - "description": "Specifies the type of the transaction initiator.", "enum": [ "CONSUMER", "AGENT", @@ -8754,6 +8096,13 @@ "TRANSFER" ], "type": "string" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" } }, "required": [ @@ -9065,6 +8414,13 @@ "maxLength": 128, "type": "string" }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "timestamp": { "description": "An ISO-8601 formatted timestamp.", "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", @@ -9192,76 +8548,6 @@ ], "type": "object" }, - "transferError": { - "description": "This object represents a Mojaloop API error received at any time during the transfer process.", - "properties": { - "httpStatusCode": { - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.", - "type": "integer" - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "properties": { - "errorInformation": { - "description": "A Mojaloop API error information construct.", - "properties": { - "errorCode": { - "description": "The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error.\n", - "pattern": "^[1-9]\\d{3}$", - "title": "ErrorCode", - "type": "string" - }, - "errorDescription": { - "description": "Error description string.", - "maxLength": 128, - "minLength": 1, - "title": "ErrorDescription", - "type": "string" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList.", - "properties": { - "extension": { - "description": "Number of Extension elements.", - "items": { - "properties": { - "key": { - "maxLength": 32, - "minLength": 1, - "type": "string" - }, - "value": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "extension" - ], - "type": "object" - } - }, - "required": [ - "errorCode", - "errorDescription" - ], - "title": "ErrorInformation", - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - }, "transferId": { "description": "A Mojaloop API transfer identifier (UUID).", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", @@ -9822,74 +9108,18 @@ "type": "object" }, "payee": { + "title": "Party", + "type": "object", "description": "Data model for the complex type Party.", "properties": { - "merchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", - "title": "MerchantClassificationCode", - "type": "string" - }, - "name": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", - "type": "string" - }, "partyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { - "extensionList": { - "description": "Data model for the complex type ExtensionList", - "properties": { - "extension": { - "description": "Number of Extension elements", - "items": { - "description": "Data model for the complex type Extension", - "properties": { - "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, - "title": "ExtensionKey", - "type": "string" - }, - "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, - "title": "ExtensionValue", - "type": "string" - } - }, - "required": [ - "key", - "value" - ], - "title": "Extension", - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", + "title": "PartyIdType", + "type": "string", "enum": [ "MSISDN", "EMAIL", @@ -9898,324 +9128,304 @@ "DEVICE", "ACCOUNT_ID", "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" + "ALIAS" ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." }, "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, "title": "PartyIdentifier", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" }, "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ "partyIdType", "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", "description": "Data model for the complex type PartyPersonalInfo.", "properties": { "complexName": { + "title": "PartyComplexName", + "type": "object", "description": "Data model for the complex type PartyComplexName.", "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, + "title": "MiddleName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" } - }, - "title": "PartyComplexName", - "type": "object" + } }, "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", "title": "DateofBirth (type Date)", - "type": "string" + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } - }, - "title": "PartyPersonalInfo", - "type": "object" + } } }, "required": [ "partyIdInfo" - ], - "title": "Party", - "type": "object" + ] }, "payer": { + "title": "Party", + "type": "object", "description": "Data model for the complex type Party.", "properties": { - "merchantClassificationCode": { - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.", - "pattern": "^[\\d]{1,4}$", - "title": "MerchantClassificationCode", - "type": "string" - }, - "name": { - "description": "Name of the Party. Could be a real name or a nickname.", - "maxLength": 128, - "minLength": 1, - "title": "PartyName", - "type": "string" - }, "partyIdInfo": { - "description": "Data model for the complex type PartyIdInfo.", + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, "extensionList": { - "description": "Data model for the complex type ExtensionList", + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { - "description": "Number of Extension elements", + "type": "array", "items": { - "description": "Data model for the complex type Extension", + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", "properties": { "key": { - "description": "Extension key.", - "maxLength": 32, - "minLength": 1, "title": "ExtensionKey", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, "value": { - "description": "Extension value.", - "maxLength": 128, - "minLength": 1, "title": "ExtensionValue", - "type": "string" + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } }, "required": [ "key", "value" - ], - "title": "Extension", - "type": "object" + ] }, - "maxItems": 16, "minItems": 1, - "type": "array" + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ "extension" - ], - "title": "ExtensionList", - "type": "object" - }, - "fspId": { - "description": "FSP identifier.", - "maxLength": 32, - "minLength": 1, - "title": "FspId", - "type": "string" - }, - "partyIdType": { - "description": "This is a variant based on FSPIOP `PartyIdType` specification.\nMain difference being the CONSENT and THIRD_PARTY_LINK enums.\n\nBelow are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory\nNumber, that is, the phone number) is used as reference to a participant.\nThe MSISDN identifier should be in international format according to the\n[ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).\nOptionally, the MSISDN may be prefixed by a single plus sign, indicating the\ninternational prefix.\n- EMAIL - An email is used as reference to a\nparticipant. The format of the email should be according to the informational\n[RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant.\nExamples of personal identification are passport number, birth certificate\nnumber, and national registration number. The identifier number is added in\nthe PartyIdentifier element. The personal identifier type is added in the\nPartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company)\nis used as reference to a participant. The BUSINESS identifier can be in any\nformat. To make a transaction connected to a specific username or bill number\nin a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a\nspecific business or organization is used as reference to a Party.\nFor referencing a specific device under a specific business or organization,\nuse the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as\nreference to a participant. The ACCOUNT_ID identifier can be in any format,\nas formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a\nparticipant. The IBAN identifier can consist of up to 34 alphanumeric\ncharacters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be\ncreated in the FSP as an alternative reference to an account owner.\nAnother example of an alias is a username in the FSP system.\nThe ALIAS identifier can be in any format. It is also possible to use the\nPartySubIdOrType element for identifying an account under an Alias defined\nby the PartyIdentifier.\n- CONSENT - TBD\n- THIRD_PARTY_LINK - TBD\n", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS", - "CONSENT", - "THIRD_PARTY_LINK" - ], - "example": "PERSONAL_ID", - "title": "PartyIdType", - "type": "string" - }, - "partyIdentifier": { - "description": "Identifier of the Party.", - "example": "16135551212", - "maxLength": 128, - "minLength": 1, - "title": "PartyIdentifier", - "type": "string" - }, - "partySubIdOrType": { - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.", - "maxLength": 128, - "minLength": 1, - "title": "PartySubIdOrType", - "type": "string" + ] } }, "required": [ "partyIdType", "partyIdentifier" - ], - "title": "PartyIdInfo", - "type": "object" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", "description": "Data model for the complex type PartyPersonalInfo.", "properties": { "complexName": { + "title": "PartyComplexName", + "type": "object", "description": "Data model for the complex type PartyComplexName.", "properties": { - "displayName": { - "description": "Display name of the sender if known", - "type": "string" - }, "firstName": { - "description": "First name of the Party (Name Type).", - "example": "Henrik", - "maxLength": 128, - "minLength": 1, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", "title": "FirstName", - "type": "string" - }, - "idSubValue": { - "description": "The sub identifier string used to identify the sender", - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender", - "type": "string" - }, - "lastName": { - "description": "Last name of the Party (Name Type).", - "example": "Karlsson", - "maxLength": 128, + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "LastName", - "type": "string" + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, "middleName": { - "description": "Middle name of the Party (Name Type).", - "example": "Johannes", - "maxLength": 128, + "title": "MiddleName", + "type": "string", "minLength": 1, + "maxLength": 128, "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "title": "MiddleName", - "type": "string" + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" } - }, - "title": "PartyComplexName", - "type": "object" + } }, "dateOfBirth": { - "description": "Date of Birth of the Party.", - "example": "1966-06-16", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", "title": "DateofBirth (type Date)", - "type": "string" + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } - }, - "title": "PartyPersonalInfo", - "type": "object" + } } }, "required": [ "partyIdInfo" - ], - "title": "Party", - "type": "object" + ] }, "quoteId": { "description": "A Mojaloop API quote identifier (UUID).", @@ -10238,7 +9448,6 @@ "type": "string" }, "initiatorType": { - "description": "Specifies the type of the transaction initiator.", "enum": [ "CONSUMER", "AGENT", @@ -10252,6 +9461,13 @@ "TRANSFER" ], "type": "string" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" } }, "required": [ @@ -10331,12 +9547,10 @@ "type": "object" }, "payeeFspCommissionAmount": { - "description": "Transaction commission from the Payee FSP.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeFspCommissionAmountCurrency": { - "description": "Currency of the `payeeFspCommissionAmount`.", "enum": [ "AED", "AFN", @@ -10508,12 +9722,10 @@ "type": "string" }, "payeeFspFeeAmount": { - "description": "Payee FSP’s part of the transaction fee.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeFspFeeAmountCurrency": { - "description": "The currency of the `payeeFspFeeAmount`.", "enum": [ "AED", "AFN", @@ -10685,12 +9897,10 @@ "type": "string" }, "payeeReceiveAmount": { - "description": "The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "payeeReceiveAmountCurrency": { - "description": "The currency of the `payeeReceiveAmount`.", "enum": [ "AED", "AFN", @@ -10872,12 +10082,10 @@ "type": "string" }, "transferAmount": { - "description": "The amount of money that the Payer FSP should transfer to the Payee FSP.", "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", "type": "string" }, "transferAmountCurrency": { - "description": "The currency of the `transferAmount`.", "enum": [ "AED", "AFN", @@ -11065,189 +10273,6335 @@ "minLength": 1, "type": "string" }, - "value": { - "maxLength": 128, - "minLength": 1, - "type": "string" + "value": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 16, + "minItems": 0, + "type": "array" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "to": { + "properties": { + "dateOfBirth": { + "description": "Date of birth in the form YYYY-MM-DD.", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "type": "string" + }, + "displayName": { + "description": "Display name of the sender, if known.", + "type": "string" + }, + "extensionList": { + "items": { + "properties": { + "key": { + "maxLength": 32, + "minLength": 1, + "type": "string" + }, + "value": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 16, + "minItems": 0, + "type": "array" + }, + "firstName": { + "description": "Party first name.", + "type": "string" + }, + "fspId": { + "description": "Mojaloop scheme FSPID of the DFSP which owns the party account.", + "type": "string" + }, + "idSubValue": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "idType": { + "enum": [ + "MSISDN", + "ACCOUNT_NO", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "type": "string" + }, + "idValue": { + "description": "The identifier string used to identify the sender.", + "type": "string" + }, + "lastName": { + "description": "Party last name.", + "type": "string" + }, + "merchantClassificationCode": { + "description": "Up to 4 digits specifying the sender's merchant classification, if known and applicable.", + "type": "string" + }, + "middleName": { + "description": "Party middle name.", + "type": "string" + }, + "type": { + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "type": "string" + } + }, + "required": [ + "idType", + "idValue" + ], + "type": "object" + }, + "transactionType": { + "enum": [ + "TRANSFER", + "DEPOSIT", + "PAYMENT" + ], + "type": "string" + }, + "transferId": { + "description": "A Mojaloop API transfer identifier (UUID).", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "type": "string" + } + }, + "required": [ + "transferId", + "quote", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType", + "ilpPacket" + ], + "type": "object" + }, + "transferResponse": { + "properties": { + "completedTimestamp": { + "description": "An ISO-8601 formatted timestamp.", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "type": "string" + }, + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "homeTransactionId": { + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.", + "type": "string" + }, + "transferState": { + "description": "Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.\n", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "type": "string" + } + }, + "required": [ + "homeTransactionId" + ], + "type": "object" + }, + "transferState": { + "description": "Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.\n", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "type": "string" + }, + "transferStatus": { + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ], + "type": "string" + }, + "TransactionSubScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "CorrelationId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "bulkTransactionStatus": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "autoAcceptPartyOption": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "Currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "Amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "bulkPerTransferFeeLimit": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + }, + "autoAcceptQuote": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + }, + "DateTime": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "bulkTransactionOptions": { + "type": "object", + "required": [ + "autoAcceptParty", + "autoAcceptQuote", + "bulkExpiration" + ], + "properties": { + "onlyValidateParty": { + "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", + "type": "boolean" + }, + "autoAcceptParty": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "autoAcceptQuote": { + "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", + "type": "object", + "oneOf": [ + { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + } + ] + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", + "type": "boolean" + }, + "synchronous": { + "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", + "type": "boolean" + }, + "bulkExpiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + } + } + }, + "PartyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "PartyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "PartySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "ExtensionKey": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "ExtensionValue": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + }, + "Extension": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "ExtensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "PartyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "PartyName": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "PartyComplexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "PartyPersonalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + }, + "Party": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "AmountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "Note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "Money": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "Latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "Longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + }, + "GeoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "IlpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "IlpCondition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "QuotesIDPutResponse": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" + ] + }, + "IlpFulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "TransferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "TransfersIDPutResponse": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" + ] + }, + "ErrorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "ErrorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "ErrorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + }, + "mojaloopError": { + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + }, + "transferError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + }, + "bulkTransactionIndividualTransferResult": { + "type": "object", + "required": [ + "homeTransactionId", + "transferId", + "to", + "amountType", + "currency", + "amount" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "transactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "to": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "reference": { + "description": "Payer Loan reference", + "type": "string" + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "quoteResponse": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" + ] + }, + "fulfil": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" + ] + }, + "quoteExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "transferExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } + } + }, + "bulkTransactionResponse": { + "title": "BulkTransactionResponse", + "type": "object", + "required": [ + "bulkHomeTransactionID", + "bulkTransactionId", + "currentState", + "individualTransferResults" + ], + "properties": { + "bulkHomeTransactionID": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "bulkTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "options": { + "type": "object", + "required": [ + "autoAcceptParty", + "autoAcceptQuote", + "bulkExpiration" + ], + "properties": { + "onlyValidateParty": { + "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", + "type": "boolean" + }, + "autoAcceptParty": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "autoAcceptQuote": { + "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", + "type": "object", + "oneOf": [ + { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + } + ] + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", + "type": "boolean" + }, + "synchronous": { + "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", + "type": "boolean" + }, + "bulkExpiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + } + } + }, + "individualTransferResults": { + "description": "List of individual transfer result in a bulk transfer response.", + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": [ + "homeTransactionId", + "transferId", + "to", + "amountType", + "currency", + "amount" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "transactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "to": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "reference": { + "description": "Payer Loan reference", + "type": "string" + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "quoteResponse": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" + ] + }, + "fulfil": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" + ] + }, + "quoteExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "transferExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } } - }, - "type": "object" - }, - "maxItems": 16, - "minItems": 0, - "type": "array" + } + } }, - "to": { + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "dateOfBirth": { - "description": "Date of birth in the form YYYY-MM-DD.", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "type": "string" - }, - "displayName": { - "description": "Display name of the sender, if known.", - "type": "string" - }, - "extensionList": { + "extension": { + "type": "array", "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", "properties": { "key": { - "maxLength": 32, + "title": "ExtensionKey", + "type": "string", "minLength": 1, - "type": "string" + "maxLength": 32, + "description": "Extension key." }, "value": { - "maxLength": 128, + "title": "ExtensionValue", + "type": "string", "minLength": 1, - "type": "string" + "maxLength": 128, + "description": "Extension value." } }, - "type": "object" + "required": [ + "key", + "value" + ] }, + "minItems": 1, "maxItems": 16, - "minItems": 0, - "type": "array" - }, - "firstName": { - "description": "Party first name.", - "type": "string" - }, - "fspId": { - "description": "Mojaloop scheme FSPID of the DFSP which owns the party account.", - "type": "string" - }, - "idSubValue": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "idType": { - "enum": [ - "MSISDN", - "ACCOUNT_NO", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "type": "string" - }, - "idValue": { - "description": "The identifier string used to identify the sender.", - "type": "string" - }, - "lastName": { - "description": "Party last name.", - "type": "string" - }, - "merchantClassificationCode": { - "description": "Up to 4 digits specifying the sender's merchant classification, if known and applicable.", - "type": "string" - }, - "middleName": { - "description": "Party middle name.", - "type": "string" - }, - "type": { - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "type": "string" + "description": "Number of Extension elements." } }, "required": [ - "idType", - "idValue" - ], - "type": "object" - }, - "transactionType": { - "enum": [ - "TRANSFER", - "DEPOSIT", - "PAYMENT" - ], - "type": "string" - }, - "transferId": { - "description": "A Mojaloop API transfer identifier (UUID).", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "type": "string" - } - }, - "required": [ - "transferId", - "quote", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType", - "ilpPacket" - ], - "type": "object" - }, - "transferResponse": { - "properties": { - "completedTimestamp": { - "description": "An ISO-8601 formatted timestamp.", - "example": "2020-05-19T08:38:08.699-04:00", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "type": "string" - }, - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8", - "maxLength": 48, - "pattern": "^[A-Za-z0-9-_]{43}$", - "title": "ilpFulfilment", - "type": "string" - }, - "homeTransactionId": { - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.", - "type": "string" - }, - "transferState": { - "description": "Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.\n", - "example": "ABORTED", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "type": "string" + "extension" + ] } - }, - "required": [ - "homeTransactionId" - ], - "type": "object" - }, - "transferState": { - "description": "Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer.\n", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "type": "string" - }, - "transferStatus": { - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ], - "type": "string" + } } } \ No newline at end of file diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts b/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts index ffa93666..ff4dd93f 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts @@ -69,51 +69,6 @@ export interface components { * @example 1966-06-16 */ DateOfBirth: string; - /** - * Extension - * @description Data model for the complex type Extension - */ - Extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }; - /** - * ExtensionKey - * @description Extension key. - */ - ExtensionKey: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - ExtensionList: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * ExtensionValue - * @description Extension value. - */ - ExtensionValue: string; /** * FirstName * @description First name of the Party (Name Type). @@ -127,1480 +82,59 @@ export interface components { FspId: string; /** @description Data model for individual quote in a bulk quote request. */ IndividualQuote: { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + amount: components["schemas"]["money"]; + amountType: components["schemas"]["amountType"]; + currency: components["schemas"]["currency"]; + feesAmount?: components["schemas"]["money"]; + feesCurrency?: components["schemas"]["currency"]; + initiator: components["schemas"]["initiator"]; + initiatorType: components["schemas"]["initiatorType"]; /** @description An optional note associated with the quote. */ note?: string; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; + quoteId: components["schemas"]["quoteId"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + to: components["schemas"]["transferParty"]; + transactionId: components["schemas"]["transactionId"]; + transactionType: components["schemas"]["transactionType"]; }; /** @description Data model for failed individual quote in a bulk quote response. */ IndividualQuoteResultFailed: { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; + errorResponse: components["schemas"]["errorResponse"]; + quoteId: components["schemas"]["quoteId"]; }; /** @description Data model for successful individual quote in a bulk quote response. */ IndividualQuoteResultSuccess: { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + payeeFspCommissionAmount?: components["schemas"]["money"]; + payeeFspCommissionAmountCurrency?: components["schemas"]["currency"]; + payeeFspFeeAmount?: components["schemas"]["money"]; + payeeFspFeeAmountCurrency?: components["schemas"]["currency"]; + payeeReceiveAmount?: components["schemas"]["money"]; + payeeReceiveAmountCurrency?: components["schemas"]["currency"]; + quoteId: components["schemas"]["quoteId"]; + transferAmount?: components["schemas"]["money"]; + transferAmountCurrency?: components["schemas"]["currency"]; }; /** @description Data model for individual transfer in a bulk transfer request. */ IndividualTransfer: { - amount: string; - /** @enum {string} */ - amountType?: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator?: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + amount: components["schemas"]["money"]; + amountType?: components["schemas"]["amountType"]; + currency: components["schemas"]["currency"]; + feesAmount?: components["schemas"]["money"]; + feesCurrency?: components["schemas"]["currency"]; + initiator?: components["schemas"]["initiator"]; + initiatorType?: components["schemas"]["initiatorType"]; /** @description An optional note associated with the quote. */ note?: string; - to?: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType?: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; + subScenario?: components["schemas"]["TransactionSubScenario"]; + to?: components["schemas"]["transferParty"]; + transactionType?: components["schemas"]["transactionType"]; + transferId: components["schemas"]["transferId"]; }; /** @description Data model for individual transfer in a bulk transfer response. */ IndividualTransferResult: { - errorResponse?: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; + errorResponse?: components["schemas"]["errorResponse"]; + extensionList?: components["schemas"]["extensionList"]; + transferId: components["schemas"]["transferId"]; }; /** * LastName @@ -1619,613 +153,10 @@ export interface components { * @example Johannes */ MiddleName: string; - /** - * Party - * @description Data model for the complex type Party. - */ - Party: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - PartyComplexName: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - PartyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - PartyIdentifier: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - PartyName: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - PartyPersonalInfo: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - PartySubIdOrType: string; /** @description Object containing Amount and Currency of the transfer. */ amountCurrency: { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + amount: components["schemas"]["money"]; + currency: components["schemas"]["currency"]; }; /** @enum {string} */ amountType: "SEND" | "RECEIVE"; @@ -2233,2278 +164,35 @@ export interface components { bulkQuoteId: string; /** @description A request for a bulk quote. */ bulkQuoteRequest: { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - individualQuotes: { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the quote. */ - note?: string; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - }[]; + bulkQuoteId: components["schemas"]["bulkQuoteId"]; + expiration?: components["schemas"]["timestamp"]; + from: components["schemas"]["transferParty"]; + geoCode?: components["schemas"]["geoCode"]; + individualQuotes: components["schemas"]["IndividualQuote"][]; }; /** @description A response to a request for a bulk quote. */ bulkQuoteResponse: { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; + bulkQuoteId: components["schemas"]["bulkQuoteId"]; + expiration?: components["schemas"]["timestamp"]; /** @description Fees for each individual transaction, if any of them are charged per transaction. */ individualQuoteResults: ( - | { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - } + | components["schemas"]["IndividualQuoteResultSuccess"] + | components["schemas"]["IndividualQuoteResultFailed"] )[]; }; /** @description A Mojaloop API transfer identifier (UUID). */ bulkTransferId: string; bulkTransferRequest: { - /** @description A response to a request for a bulk quote. */ - bulkQuote?: { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - /** @description Fees for each individual transaction, if any of them are charged per transaction. */ - individualQuoteResults: ( - | { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - } - )[]; - }; - /** @description A Mojaloop API transfer identifier (UUID). */ - bulkTransferId: string; - from?: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - individualTransfers: { - amount: string; - /** @enum {string} */ - amountType?: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator?: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the quote. */ - note?: string; - to?: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType?: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }[]; + bulkQuote?: components["schemas"]["bulkQuoteResponse"]; + bulkTransferId: components["schemas"]["bulkTransferId"]; + from?: components["schemas"]["transferParty"]; + individualTransfers: components["schemas"]["IndividualTransfer"][]; }; bulkTransferResponse: { - /** @description A Mojaloop API transfer identifier (UUID). */ - bulkTransferId?: string; + bulkTransferId?: components["schemas"]["bulkTransferId"]; /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems. */ homeTransactionId: string; - individualTransferResults?: { - errorResponse?: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }[]; + individualTransferResults?: components["schemas"]["IndividualTransferResult"][]; }; /** @enum {string} */ currency: @@ -4689,24 +377,9 @@ export interface components { * @description A Mojaloop API error information construct. */ errorInformation: { - /** - * ErrorCode - * @description The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error. - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** @description Data model for the complex type ExtensionList. */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; - }; + errorCode: components["schemas"]["errorCode"]; + errorDescription: components["schemas"]["errorDescription"]; + extensionList?: components["schemas"]["extensionListComplex"]; }; errorResponse: { /** @description Error message text */ @@ -4721,17 +394,11 @@ export interface components { key?: string; value?: string; }; - extensionList: { - key?: string; - value?: string; - }[]; + extensionList: components["schemas"]["extensionItem"][]; /** @description Data model for the complex type ExtensionList. */ extensionListComplex: { /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; + extension: components["schemas"]["extensionItem"][]; }; /** @description FSP identifier. */ fspId: string; @@ -4740,71 +407,20 @@ export interface components { * @description PUT /transfers/{transferId} object. */ fulfilNotification: { - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; + currentState?: components["schemas"]["transferStatus"]; /** @enum {string} */ direction?: "INBOUND"; finalNotification?: { - /** - * @description An ISO-8601 formatted timestamp. - * @example 2020-05-19T08:38:08.699-04:00 - */ - completedTimestamp: string; - /** @description Optional extension, specific to deployment. */ - extensionList?: { - key?: string; - value?: string; - }[]; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @example COMMITTED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + completedTimestamp: components["schemas"]["timestamp"]; + extensionList?: components["schemas"]["extensionList"]; + transferState: components["schemas"]["transferState"]; }; fulfil?: { body?: { [key: string]: unknown }; headers?: { [key: string]: unknown }; }; - /** @description An ISO-8601 formatted timestamp. */ - initiatedTimestamp?: string; - /** @description This object represents a Mojaloop API error received at any time during the transfer process. */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description A Mojaloop API error information construct. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error. - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** @description Data model for the complex type ExtensionList. */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; - }; - }; - }; - }; + initiatedTimestamp?: components["schemas"]["timestamp"]; + lastError?: components["schemas"]["transferError"]; prepare?: { body?: { [key: string]: unknown }; headers?: { [key: string]: unknown }; @@ -4824,17 +440,14 @@ export interface components { body?: { [key: string]: unknown }; headers?: { [key: string]: unknown }; }; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId?: string; + transferId?: components["schemas"]["transferId"]; }; /** @description This object may represent a number of different error object types and so its properties may vary significantly. */ generalError: { [key: string]: unknown }; /** @description Indicates the geographic location from where the transaction was initiated. */ geoCode: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; + latitude: components["schemas"]["latitude"]; + longitude: components["schemas"]["longitude"]; }; idSubValue: string; /** @enum {string} */ @@ -4850,538 +463,14 @@ export interface components { | "ALIAS"; /** @description Identifier of the party. */ idValue: string; - /** - * ilpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - ilpFulfilment: string; /** @description Object containing transfer object. */ ilpPacketData: { - /** @description Object containing Amount and Currency of the transfer. */ - amount: { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description Object containing transfer object. */ - transactionType: { - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @enum {string} */ - scenario: "TRANSFER"; - }; + amount: components["schemas"]["amountCurrency"]; + payee: components["schemas"]["Party"]; + payer: components["schemas"]["Party"]; + quoteId: components["schemas"]["quoteId"]; + transactionId: components["schemas"]["transactionId"]; + transactionType: components["schemas"]["transactionTypeObject"]; }; /** @enum {string} */ initiator: "PAYER" | "PAYEE"; @@ -5391,40 +480,13 @@ export interface components { latitude: string; /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ longitude: string; - mojaloopError: { - /** - * ErrorInformation - * @description A Mojaloop API error information construct. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error. - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** @description Data model for the complex type ExtensionList. */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; - }; - }; - }; money: string; otpDetails: { /** @description OTP value. */ otpValue: string; }; participantsResponse: { - /** @description FSP identifier. */ - fspId?: string; + fspId?: components["schemas"]["fspId"]; }; /** @enum {string} */ payerType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; @@ -5432,1159 +494,40 @@ export interface components { quoteId: string; /** @description A request for a quote for transfer from the DFSP backend. */ quoteRequest: { - /** @description Depending on `amountType`. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities. */ - amount: string; - /** - * @description SEND for send amount, RECEIVE for receive amount. - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed. */ - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Information about the Payer in the proposed financial transaction. */ - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** - * @description Specifies if the initiator of the transfer is the Payer or Payee. - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + amount: components["schemas"]["money"]; + amountType: components["schemas"]["amountType"]; + currency: components["schemas"]["currency"]; + expiration?: components["schemas"]["timestamp"]; + extensionList?: components["schemas"]["extensionList"]; + feesAmount?: components["schemas"]["money"]; + feesCurrency?: components["schemas"]["currency"]; + from: components["schemas"]["transferParty"]; + geoCode?: components["schemas"]["geoCode"]; + initiator: components["schemas"]["initiator"]; + initiatorType: components["schemas"]["initiatorType"]; /** @description An optional note associated with the requested transfer. */ note?: string; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description Information about the Payee in the proposed financial transaction. */ - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** - * @description Type of transaction for which the quote is requested. - * @enum {string} - */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; + quoteId: components["schemas"]["quoteId"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + to: components["schemas"]["transferParty"]; + transactionId: components["schemas"]["transactionId"]; + transactionType: components["schemas"]["transactionType"]; }; /** @description A response to a request for a quote. */ quoteResponse: { - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @description Transaction commission from the Payee FSP. */ - payeeFspCommissionAmount?: string; - /** - * @description Currency of the `payeeFspCommissionAmount`. - * @enum {string} - */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Payee FSP’s part of the transaction fee. */ - payeeFspFeeAmount?: string; - /** - * @description The currency of the `payeeFspFeeAmount`. - * @enum {string} - */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. */ - payeeReceiveAmount?: string; - /** - * @description The currency of the `payeeReceiveAmount`. - * @enum {string} - */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ - transferAmount: string; - /** - * @description The currency of the `transferAmount`. - * @enum {string} - */ - transferAmountCurrency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + expiration?: components["schemas"]["timestamp"]; + extensionList?: components["schemas"]["extensionList"]; + geoCode?: components["schemas"]["geoCode"]; + payeeFspCommissionAmount?: components["schemas"]["money"]; + payeeFspCommissionAmountCurrency?: components["schemas"]["currency"]; + payeeFspFeeAmount?: components["schemas"]["money"]; + payeeFspFeeAmountCurrency?: components["schemas"]["currency"]; + payeeReceiveAmount?: components["schemas"]["money"]; + payeeReceiveAmountCurrency?: components["schemas"]["currency"]; + quoteId: components["schemas"]["quoteId"]; + transactionId: components["schemas"]["transactionId"]; + transferAmount: components["schemas"]["money"]; + transferAmountCurrency: components["schemas"]["currency"]; }; /** @enum {string} */ scenario: "TRANSFER"; @@ -6594,611 +537,74 @@ export interface components { transactionId: string; /** @description A request for a pull based transfer. */ transactionRequest: { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + amount: components["schemas"]["money"]; + currency: components["schemas"]["currency"]; + expiration?: components["schemas"]["timestamp"]; + from: components["schemas"]["transferParty"]; + geoCode?: components["schemas"]["geoCode"]; + initiator: components["schemas"]["initiator"]; + initiatorType: components["schemas"]["initiatorType"]; /** @description An optional note associated with the requested transfer. */ note?: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description A Mojaloop API transaction request identifier (UUID). */ - transactionRequestId: string; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; + to: components["schemas"]["transferParty"]; + transactionRequestId: components["schemas"]["transactionRequestId"]; + transactionType: components["schemas"]["transactionType"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; }; /** @description A Mojaloop API transaction request identifier (UUID). */ transactionRequestId: string; /** @description A response to a request for a quote. */ transactionRequestResponse: { - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @enum {string} */ - transferAmount?: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + transactionId: components["schemas"]["transactionId"]; + transferAmount?: components["schemas"]["transactionRequestState"]; } & { transactionRequestState: unknown; }; /** @enum {string} */ transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + /** + * transactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). Based on FSPIOP TransactionSubScenario. + * @example LOCALLY_DEFINED_SUBSCENARIO + */ + transactionSubScenario: string; /** @enum {string} */ transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; /** @description Object containing transfer object. */ transactionTypeObject: { - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @enum {string} */ - scenario: "TRANSFER"; + initiator: components["schemas"]["initiator"]; + initiatorType: components["schemas"]["initiatorType"]; + scenario: components["schemas"]["scenario"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; }; transferDetailsResponse: { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - extensions?: { - key?: string; - value?: string; - }[]; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; + amount: components["schemas"]["money"]; + amountType: components["schemas"]["amountType"]; + currency: components["schemas"]["currency"]; + extensions?: components["schemas"]["extensionList"]; + from: components["schemas"]["transferParty"]; /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; note?: string; - /** @description An ISO-8601 formatted timestamp. */ - timestamp: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process. */ - transferError: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description A Mojaloop API error information construct. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error. - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** @description Data model for the complex type ExtensionList. */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; - }; - }; - }; + subScenario?: components["schemas"]["TransactionSubScenario"]; + timestamp: components["schemas"]["timestamp"]; + to: components["schemas"]["transferParty"]; + transactionType: components["schemas"]["transactionType"]; + transferState: components["schemas"]["transferState"]; }; /** @description A Mojaloop API transfer identifier (UUID). */ transferId: string; transferParty: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; + dateOfBirth?: components["schemas"]["dateOfBirth"]; /** @description Display name of the sender, if known. */ displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; + extensionList?: components["schemas"]["extensionList"]; /** @description Party first name. */ firstName?: string; /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + idSubValue?: components["schemas"]["idSubValue"]; + idType: components["schemas"]["idType"]; /** @description The identifier string used to identify the sender. */ idValue: string; /** @description Party last name. */ @@ -7207,1515 +613,30 @@ export interface components { merchantClassificationCode?: string; /** @description Party middle name. */ middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + type?: components["schemas"]["payerType"]; }; transferRequest: { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; + amount: components["schemas"]["money"]; + amountType: components["schemas"]["amountType"]; + currency: components["schemas"]["currency"]; + from: components["schemas"]["transferParty"]; ilpPacket: { - /** @description Object containing transfer object. */ - data: { - /** @description Object containing Amount and Currency of the transfer. */ - amount: { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description Object containing transfer object. */ - transactionType: { - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @enum {string} */ - scenario: "TRANSFER"; - }; - }; + data: components["schemas"]["ilpPacketData"]; }; note?: string; - /** @description A response to a request for a quote. */ - quote: { - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @description Transaction commission from the Payee FSP. */ - payeeFspCommissionAmount?: string; - /** - * @description Currency of the `payeeFspCommissionAmount`. - * @enum {string} - */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Payee FSP’s part of the transaction fee. */ - payeeFspFeeAmount?: string; - /** - * @description The currency of the `payeeFspFeeAmount`. - * @enum {string} - */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. */ - payeeReceiveAmount?: string; - /** - * @description The currency of the `payeeReceiveAmount`. - * @enum {string} - */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ - transferAmount: string; - /** - * @description The currency of the `transferAmount`. - * @enum {string} - */ - transferAmountCurrency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - quoteRequestExtensions?: { - key?: string; - value?: string; - }[]; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; + quote: components["schemas"]["quoteResponse"]; + quoteRequestExtensions?: components["schemas"]["extensionList"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + to: components["schemas"]["transferParty"]; + transactionType: components["schemas"]["transactionType"]; + transferId: components["schemas"]["transferId"]; }; transferResponse: { - /** - * @description An ISO-8601 formatted timestamp. - * @example 2020-05-19T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ilpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; + completedTimestamp?: components["schemas"]["timestamp"]; + fulfilment?: components["schemas"]["IlpFulfilment"]; /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @example ABORTED - * @enum {string} - */ - transferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + transferState?: components["schemas"]["transferState"]; }; /** * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. @@ -8729,42 +650,507 @@ export interface components { | "WAITING_FOR_PARTY_ACCEPTANCE" | "WAITING_FOR_QUOTE_ACCEPTANCE" | "COMPLETED"; - }; - responses: { - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; + /** + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO + */ + TransactionSubScenario: string; + /** + * CorrelationId + * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + CorrelationId: string; + /** @enum {string} */ + bulkTransactionStatus: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; + autoAcceptPartyOption: { + /** @enum {boolean} */ + enabled: false | true; + }; + /** + * Currency + * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * @enum {string} + */ + Currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * Amount + * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * @example 123.45 + */ + Amount: string; + bulkPerTransferFeeLimit: { + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + }; + autoAcceptQuote: { + /** @enum {boolean} */ + enabled: true | false; + perTransferFeeLimits?: components["schemas"]["bulkPerTransferFeeLimit"][]; + }; + /** + * DateTime + * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * @example 2016-05-24T08:38:08.699-04:00 + */ + DateTime: string; + bulkTransactionOptions: { + /** @description Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution. */ + onlyValidateParty?: boolean; + autoAcceptParty: components["schemas"]["autoAcceptPartyOption"]; + /** @description Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array. */ + autoAcceptQuote: components["schemas"]["autoAcceptQuote"]; + /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed. */ + skipPartyLookup?: boolean; + /** @description Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done */ + synchronous?: boolean; + bulkExpiration: components["schemas"]["DateTime"]; + }; + /** + * PartyIdType + * @description Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. + * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. + * @enum {string} + */ + PartyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; + /** + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 + */ + PartyIdentifier: string; + /** + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + PartySubIdOrType: string; + /** + * ExtensionKey + * @description Extension key. + */ + ExtensionKey: string; + /** + * ExtensionValue + * @description Extension value. + */ + ExtensionValue: string; + /** + * Extension + * @description Data model for the complex type Extension. + */ + Extension: { + key: components["schemas"]["ExtensionKey"]; + value: components["schemas"]["ExtensionValue"]; + }; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + ExtensionList: { + /** @description Number of Extension elements. */ + extension: components["schemas"]["Extension"][]; + }; + /** + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + */ + PartyIdInfo: { + partyIdType: components["schemas"]["PartyIdType"]; + partyIdentifier: components["schemas"]["PartyIdentifier"]; + partySubIdOrType?: components["schemas"]["PartySubIdOrType"]; + fspId?: components["schemas"]["FspId"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * PartyName + * @description Name of the Party. Could be a real name or a nickname. + */ + PartyName: string; + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + PartyComplexName: { + firstName?: components["schemas"]["FirstName"]; + middleName?: components["schemas"]["MiddleName"]; + lastName?: components["schemas"]["LastName"]; + }; + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + PartyPersonalInfo: { + complexName?: components["schemas"]["PartyComplexName"]; + dateOfBirth?: components["schemas"]["DateOfBirth"]; + }; + /** + * Party + * @description Data model for the complex type Party. + */ + Party: { + partyIdInfo: components["schemas"]["PartyIdInfo"]; + merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; + name?: components["schemas"]["PartyName"]; + personalInfo?: components["schemas"]["PartyPersonalInfo"]; + }; + /** + * AmountType + * @description Below are the allowed values for the enumeration AmountType. + * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. + * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. + * @example RECEIVE + * @enum {string} + */ + AmountType: "SEND" | "RECEIVE"; + /** + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. + */ + Note: string; + /** + * Money + * @description Data model for the complex type Money. + */ + Money: { + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + }; + /** + * Latitude + * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * @example +45.4215 + */ + Latitude: string; + /** + * Longitude + * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * @example +75.6972 + */ + Longitude: string; + /** + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + GeoCode: { + latitude: components["schemas"]["Latitude"]; + longitude: components["schemas"]["Longitude"]; + }; + /** + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + */ + IlpPacket: string; + /** + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. + */ + IlpCondition: string; + /** + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. + */ + QuotesIDPutResponse: { + transferAmount: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; + expiration: components["schemas"]["DateTime"]; + geoCode?: components["schemas"]["GeoCode"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + */ + IlpFulfilment: string; + /** + * TransferState + * @description Below are the allowed values for the enumeration. + * - RECEIVED - Next ledger has received the transfer. + * - RESERVED - Next ledger has reserved the transfer. + * - COMMITTED - Next ledger has successfully performed the transfer. + * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. + * @example RESERVED + * @enum {string} + */ + TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + /** + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. + */ + TransfersIDPutResponse: { + fulfilment?: components["schemas"]["IlpFulfilment"]; + completedTimestamp?: components["schemas"]["DateTime"]; + transferState: components["schemas"]["TransferState"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + ErrorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + ErrorDescription: string; + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + ErrorInformation: { + errorCode: components["schemas"]["ErrorCode"]; + errorDescription: components["schemas"]["ErrorDescription"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + mojaloopError: { + errorInformation?: components["schemas"]["ErrorInformation"]; + }; + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ + transferError: { + /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ + httpStatusCode?: number; + /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ + mojaloopError?: components["schemas"]["mojaloopError"]; + }; + bulkTransactionIndividualTransferResult: { + transferId: components["schemas"]["CorrelationId"]; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + transactionId?: components["schemas"]["CorrelationId"]; + to: components["schemas"]["Party"]; + /** @description Payer Loan reference */ + reference?: string; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + note?: components["schemas"]["Note"]; + quoteId?: components["schemas"]["CorrelationId"]; + quoteResponse?: components["schemas"]["QuotesIDPutResponse"]; + fulfil?: components["schemas"]["TransfersIDPutResponse"]; + quoteExtensions?: components["schemas"]["ExtensionList"]; + transferExtensions?: components["schemas"]["ExtensionList"]; + lastError?: components["schemas"]["transferError"]; + }; + /** BulkTransactionResponse */ + bulkTransactionResponse: { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + bulkHomeTransactionID: string; + bulkTransactionId: components["schemas"]["CorrelationId"]; + currentState: components["schemas"]["bulkTransactionStatus"]; + options?: components["schemas"]["bulkTransactionOptions"]; + /** @description List of individual transfer result in a bulk transfer response. */ + individualTransferResults: components["schemas"]["bulkTransactionIndividualTransferResult"][]; + extensions?: components["schemas"]["ExtensionList"]; + }; + }; + responses: { + /** Malformed or missing required headers or parameters. */ + 400: { + content: { + "application/json": components["schemas"]["errorResponse"]; + }; + }; + /** The party specified by the provided identifier type and value is not known to the server. */ + 404: unknown; /** An error occurred processing the request. */ 500: { content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["errorResponse"]; }; }; }; parameters: { - /** @description Identifier of the bulk transaction to continue as returned in. */ - bulkTransactionId: string; /** @description A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ idSubValue: string; /** @description The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ @@ -8773,6 +1159,8 @@ export interface components { idValue: string; requestToPayId: string; transferId: string; + /** @description Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: components["schemas"]["CorrelationId"]; }; } @@ -8788,1169 +1176,16 @@ export interface operations { /** A response to the bulk quote request. */ 200: { content: { - "application/json": { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - /** @description Fees for each individual transaction, if any of them are charged per transaction. */ - individualQuoteResults: ( - | { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - } - )[]; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["bulkQuoteResponse"]; }; }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; /** Incoming request for a bulk quotation. */ requestBody: { content: { - "application/json": { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - individualQuotes: { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the quote. */ - note?: string; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - }[]; - }; + "application/json": components["schemas"]["bulkQuoteRequest"]; }; }; }; @@ -9958,799 +1193,38 @@ export interface operations { parameters: { path: { /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; }; }; responses: { /** Response containing details of the requested bulk quote. */ 200: { content: { - "application/json": { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - /** @description Fees for each individual transaction, if any of them are charged per transaction. */ - individualQuoteResults: ( - | { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - } - )[]; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["bulkQuoteResponse"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to amend information regarding a bulk transaction, i.e. when autoAcceptParty or autoAcceptQuote is false then the payer need to provide confirmation to proceed with further processing of the request. The `{bulkTransactionId}` in the URI should contain the `bulkTransactionId` that was used for the creation of the bulk transfer. */ BackendBulkTransactionsPut: { parameters: { path: { - /** Identifier of the bulk transaction to continue as returned in. */ - bulkTransactionId: string; + /** Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: components["parameters"]["bulkTransactionId"]; }; }; responses: { /** Bulk transaction information successfully amended. */ 202: unknown; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; - /** Bulk transaction request body. */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - bulkHomeTransactionID: string; - /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransferResults: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId?: string; - }[]; - }; + "application/json": components["schemas"]["bulkTransactionResponse"]; }; }; }; @@ -10759,1182 +1233,16 @@ export interface operations { /** The bulk transfer was accepted. */ 200: { content: { - "application/json": { - /** @description A Mojaloop API transfer identifier (UUID). */ - bulkTransferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems. */ - homeTransactionId: string; - individualTransferResults?: { - errorResponse?: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }[]; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["bulkTransferResponse"]; }; }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; /** An incoming bulk transfer request. */ requestBody: { content: { - "application/json": { - /** @description A response to a request for a bulk quote. */ - bulkQuote?: { - /** @description A Mojaloop API bulk quote identifier (UUID). */ - bulkQuoteId: string; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - /** @description Fees for each individual transaction, if any of them are charged per transaction. */ - individualQuoteResults: ( - | { - payeeFspCommissionAmount?: string; - /** @enum {string} */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeFspFeeAmount?: string; - /** @enum {string} */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - payeeReceiveAmount?: string; - /** @enum {string} */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - transferAmount?: string; - /** @enum {string} */ - transferAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - errorResponse: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - } - )[]; - }; - /** @description A Mojaloop API transfer identifier (UUID). */ - bulkTransferId: string; - from?: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - individualTransfers: { - amount: string; - /** @enum {string} */ - amountType?: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @enum {string} */ - initiator?: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the quote. */ - note?: string; - to?: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType?: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }[]; - }; + "application/json": components["schemas"]["bulkTransferRequest"]; }; }; }; @@ -11942,116 +1250,37 @@ export interface operations { parameters: { path: { /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; }; }; responses: { /** Response containing details of the requested bulk transfer. */ 200: { content: { - "application/json": { - /** @description A Mojaloop API transfer identifier (UUID). */ - bulkTransferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems. */ - homeTransactionId: string; - individualTransferResults?: { - errorResponse?: { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }[]; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["bulkTransferResponse"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; BackendOtpGet: { parameters: { path: { - requestToPayId: string; + requestToPayId: components["parameters"]["requestToPayId"]; }; }; responses: { /** Response containing details of the OTP. */ 200: { content: { - "application/json": { - /** @description OTP value. */ - otpValue: string; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["otpDetails"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `GET /participants/{idType}/{idValue}` is used to find out in which FSP the requested party, defined by `{idType}` and `{idValue}`, is located. */ @@ -12059,51 +1288,21 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - idType: string; + idType: components["parameters"]["idType"]; /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; }; }; responses: { /** Response containing details of the requested party. */ 200: { content: { - "application/json": { - /** @description FSP identifier. */ - fspId?: string; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["participantsResponse"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `GET /participants/{idType}/{idValue}/{idSubValue}` is used to find out in which FSP the requested party, defined by `{idType}`, `{idValue}` and `{idSubValue}` is located. */ @@ -12111,53 +1310,23 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - idType: string; + idType: components["parameters"]["idType"]; /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - idSubValue: string; + idSubValue: components["parameters"]["idSubValue"]; }; }; responses: { /** Response containing details of the requested party. */ 200: { content: { - "application/json": { - /** @description FSP identifier. */ - fspId?: string; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["participantsResponse"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `GET /parties/{idType}/{idValue}` is used to look up information regarding the requested transfer party, identified by `{idType}` and `{idValue}`. */ @@ -12165,83 +1334,21 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - idType: string; + idType: components["parameters"]["idType"]; /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; }; }; responses: { /** Response containing details of the requested party. */ 200: { content: { - "application/json": { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["transferParty"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `GET /parties/{idType}/{idValue}/{idSubValue}` is used to look up information regarding the requested transfer party, identified by `{idType}`, `{idValue}` and `{idSubValue}`. */ @@ -12249,85 +1356,23 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - idType: string; + idType: components["parameters"]["idType"]; /** The identifier value. */ - idValue: string; + idValue: components["parameters"]["idValue"]; /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - idSubValue: string; + idSubValue: components["parameters"]["idSubValue"]; }; }; responses: { /** Response containing details of the requested party. */ 200: { content: { - "application/json": { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** The party specified by the provided identifier type and value is not known to the server. */ - 404: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["transferParty"]; }; }; + 400: components["responses"]["400"]; + 404: components["responses"]["404"]; + 500: components["responses"]["500"]; }; }; /** The HTTP request `POST /quoterequests` is used to request the creation of a quote for the provided financial transaction. */ @@ -12336,1194 +1381,16 @@ export interface operations { /** A response to the transfer quotation request. */ 200: { content: { - "application/json": { - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @description Transaction commission from the Payee FSP. */ - payeeFspCommissionAmount?: string; - /** - * @description Currency of the `payeeFspCommissionAmount`. - * @enum {string} - */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Payee FSP’s part of the transaction fee. */ - payeeFspFeeAmount?: string; - /** - * @description The currency of the `payeeFspFeeAmount`. - * @enum {string} - */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. */ - payeeReceiveAmount?: string; - /** - * @description The currency of the `payeeReceiveAmount`. - * @enum {string} - */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ - transferAmount: string; - /** - * @description The currency of the `transferAmount`. - * @enum {string} - */ - transferAmountCurrency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["quoteResponse"]; }; }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; /** Request for a transfer quotation. */ requestBody: { content: { - "application/json": { - /** @description Depending on `amountType`. If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities. */ - amount: string; - /** - * @description SEND for send amount, RECEIVE for receive amount. - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed. */ - feesAmount?: string; - /** @enum {string} */ - feesCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Information about the Payer in the proposed financial transaction. */ - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** - * @description Specifies if the initiator of the transfer is the Payer or Payee. - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the requested transfer. */ - note?: string; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description Information about the Payee in the proposed financial transaction. */ - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** - * @description Type of transaction for which the quote is requested. - * @enum {string} - */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - }; + "application/json": components["schemas"]["quoteRequest"]; }; }; }; @@ -13532,308 +1399,16 @@ export interface operations { /** A response to the transfer transaction request. */ 200: { content: { - "application/json": { - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @enum {string} */ - transferAmount?: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - } & { - transactionRequestState: unknown; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["transactionRequestResponse"]; }; }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; /** Request for Transaction Request. */ requestBody: { content: { - "application/json": { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** @enum {string} */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @description An optional note associated with the requested transfer. */ - note?: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description A Mojaloop API transaction request identifier (UUID). */ - transactionRequestId: string; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - }; + "application/json": components["schemas"]["transactionRequest"]; }; }; }; @@ -13843,1547 +1418,16 @@ export interface operations { /** The transfer was accepted. */ 200: { content: { - "application/json": { - /** - * @description An ISO-8601 formatted timestamp. - * @example 2020-05-19T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ilpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @example ABORTED - * @enum {string} - */ - transferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - }; - }; - }; - /** Malformed or missing required headers or parameters. */ - 400: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["transferResponse"]; }; }; + 400: components["responses"]["400"]; + 500: components["responses"]["500"]; }; /** An incoming transfer request. */ requestBody: { content: { - "application/json": { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - ilpPacket: { - /** @description Object containing transfer object. */ - data: { - /** @description Object containing Amount and Currency of the transfer. */ - amount: { - amount: string; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * ExtensionList - * @description Data model for the complex type ExtensionList - */ - extensionList?: { - /** @description Number of Extension elements */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * PartyIdType - * @description This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - }; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** @description Display name of the sender if known */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** @description The sub identifier string used to identify the sender */ - idSubValue?: string; - /** @enum {string} */ - idType?: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender */ - idValue?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description Object containing transfer object. */ - transactionType: { - /** @enum {string} */ - initiator: "PAYER" | "PAYEE"; - /** - * @description Specifies the type of the transaction initiator. - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** @enum {string} */ - scenario: "TRANSFER"; - }; - }; - }; - note?: string; - /** @description A response to a request for a quote. */ - quote: { - /** @description An ISO-8601 formatted timestamp. */ - expiration?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Indicates the geographic location from where the transaction was initiated. */ - geoCode?: { - /** @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - latitude: string; - /** @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - longitude: string; - }; - /** @description Transaction commission from the Payee FSP. */ - payeeFspCommissionAmount?: string; - /** - * @description Currency of the `payeeFspCommissionAmount`. - * @enum {string} - */ - payeeFspCommissionAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description Payee FSP’s part of the transaction fee. */ - payeeFspFeeAmount?: string; - /** - * @description The currency of the `payeeFspFeeAmount`. - * @enum {string} - */ - payeeFspFeeAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description The amount that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. */ - payeeReceiveAmount?: string; - /** - * @description The currency of the `payeeReceiveAmount`. - * @enum {string} - */ - payeeReceiveAmountCurrency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** @description A Mojaloop API quote identifier (UUID). */ - quoteId: string; - /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ - transactionId: string; - /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ - transferAmount: string; - /** - * @description The currency of the `transferAmount`. - * @enum {string} - */ - transferAmountCurrency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - quoteRequestExtensions?: { - key?: string; - value?: string; - }[]; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId: string; - }; + "application/json": components["schemas"]["transferRequest"]; }; }; }; @@ -15391,407 +1435,35 @@ export interface operations { BackendTransfersGet: { parameters: { path: { - transferId: string; + transferId: components["parameters"]["transferId"]; }; }; responses: { /** The transfer was accepted. */ 200: { content: { - "application/json": { - amount: string; - /** @enum {string} */ - amountType: "SEND" | "RECEIVE"; - /** @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - extensions?: { - key?: string; - value?: string; - }[]; - from: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - note?: string; - /** @description An ISO-8601 formatted timestamp. */ - timestamp: string; - to: { - /** @description Date of birth in the form YYYY-MM-DD. */ - dateOfBirth?: string; - /** @description Display name of the sender, if known. */ - displayName?: string; - extensionList?: { - key?: string; - value?: string; - }[]; - /** @description Party first name. */ - firstName?: string; - /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ - fspId?: string; - idSubValue?: string; - /** @enum {string} */ - idType: - | "MSISDN" - | "ACCOUNT_NO" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** @description The identifier string used to identify the sender. */ - idValue: string; - /** @description Party last name. */ - lastName?: string; - /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ - merchantClassificationCode?: string; - /** @description Party middle name. */ - middleName?: string; - /** @enum {string} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** @enum {string} */ - transactionType: "TRANSFER" | "DEPOSIT" | "PAYMENT"; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - }; - }; - }; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; + "application/json": components["schemas"]["transferDetailsResponse"]; }; }; + 500: components["responses"]["500"]; }; }; /** The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee. */ BackendTransfersPut: { parameters: { path: { - transferId: string; + transferId: components["parameters"]["transferId"]; }; }; responses: { /** The notification was accepted. */ 200: unknown; - /** An error occurred processing the request. */ - 500: { - content: { - "application/json": { - /** @description Error message text */ - message?: string; - /** - * @description Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code. - * Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message. - */ - statusCode?: string; - }; - }; - }; + 500: components["responses"]["500"]; }; /** An incoming notification for fulfiled transfer. */ requestBody: { content: { - "application/json": { - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** @enum {string} */ - direction?: "INBOUND"; - finalNotification?: { - /** - * @description An ISO-8601 formatted timestamp. - * @example 2020-05-19T08:38:08.699-04:00 - */ - completedTimestamp: string; - /** @description Optional extension, specific to deployment. */ - extensionList?: { - key?: string; - value?: string; - }[]; - /** - * @description Below are the allowed values for the enumeration - RECEIVED DFSP has received the transfer. - RESERVED DFSP has reserved the transfer. - COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. - * - * @example COMMITTED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - }; - fulfil?: { - body?: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - /** @description An ISO-8601 formatted timestamp. */ - initiatedTimestamp?: string; - /** @description This object represents a Mojaloop API error received at any time during the transfer process. */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description A Mojaloop API error information construct. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type errorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represents the specific error. - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** @description Data model for the complex type ExtensionList. */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - key?: string; - value?: string; - }[]; - }; - }; - }; - }; - prepare?: { - body?: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quote?: { - fulfilment?: string; - internalRequest?: { [key: string]: unknown }; - mojaloopResponse?: { [key: string]: unknown }; - request?: { [key: string]: unknown }; - response?: { [key: string]: unknown }; - }; - quoteRequest?: { - body?: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - body?: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - /** @description A Mojaloop API transfer identifier (UUID). */ - transferId?: string; - }; + "application/json": components["schemas"]["fulfilNotification"]; }; }; }; diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts b/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts index f3c9b6b7..18d27a2c 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts @@ -6,10 +6,6 @@ import JsonSchemas from './json-schemas.json' export namespace Schemas { export const DateOfBirth = JsonSchemas.DateOfBirth - export const Extension = JsonSchemas.Extension - export const ExtensionKey = JsonSchemas.ExtensionKey - export const ExtensionList = JsonSchemas.ExtensionList - export const ExtensionValue = JsonSchemas.ExtensionValue export const FirstName = JsonSchemas.FirstName export const FspId = JsonSchemas.FspId export const IndividualQuote = JsonSchemas.IndividualQuote @@ -20,14 +16,6 @@ export namespace Schemas { export const LastName = JsonSchemas.LastName export const MerchantClassificationCode = JsonSchemas.MerchantClassificationCode export const MiddleName = JsonSchemas.MiddleName - export const Party = JsonSchemas.Party - export const PartyComplexName = JsonSchemas.PartyComplexName - export const PartyIdInfo = JsonSchemas.PartyIdInfo - export const PartyIdType = JsonSchemas.PartyIdType - export const PartyIdentifier = JsonSchemas.PartyIdentifier - export const PartyName = JsonSchemas.PartyName - export const PartyPersonalInfo = JsonSchemas.PartyPersonalInfo - export const PartySubIdOrType = JsonSchemas.PartySubIdOrType export const amountCurrency = JsonSchemas.amountCurrency export const amountType = JsonSchemas.amountType export const bulkQuoteId = JsonSchemas.bulkQuoteId @@ -52,13 +40,11 @@ export namespace Schemas { export const idSubValue = JsonSchemas.idSubValue export const idType = JsonSchemas.idType export const idValue = JsonSchemas.idValue - export const ilpFulfilment = JsonSchemas.ilpFulfilment export const ilpPacketData = JsonSchemas.ilpPacketData export const initiator = JsonSchemas.initiator export const initiatorType = JsonSchemas.initiatorType export const latitude = JsonSchemas.latitude export const longitude = JsonSchemas.longitude - export const mojaloopError = JsonSchemas.mojaloopError export const money = JsonSchemas.money export const otpDetails = JsonSchemas.otpDetails export const participantsResponse = JsonSchemas.participantsResponse @@ -73,14 +59,55 @@ export namespace Schemas { export const transactionRequestId = JsonSchemas.transactionRequestId export const transactionRequestResponse = JsonSchemas.transactionRequestResponse export const transactionRequestState = JsonSchemas.transactionRequestState + export const transactionSubScenario = JsonSchemas.transactionSubScenario export const transactionType = JsonSchemas.transactionType export const transactionTypeObject = JsonSchemas.transactionTypeObject export const transferDetailsResponse = JsonSchemas.transferDetailsResponse - export const transferError = JsonSchemas.transferError export const transferId = JsonSchemas.transferId export const transferParty = JsonSchemas.transferParty export const transferRequest = JsonSchemas.transferRequest export const transferResponse = JsonSchemas.transferResponse export const transferState = JsonSchemas.transferState export const transferStatus = JsonSchemas.transferStatus + export const TransactionSubScenario = JsonSchemas.TransactionSubScenario + export const CorrelationId = JsonSchemas.CorrelationId + export const bulkTransactionStatus = JsonSchemas.bulkTransactionStatus + export const autoAcceptPartyOption = JsonSchemas.autoAcceptPartyOption + export const Currency = JsonSchemas.Currency + export const Amount = JsonSchemas.Amount + export const bulkPerTransferFeeLimit = JsonSchemas.bulkPerTransferFeeLimit + export const autoAcceptQuote = JsonSchemas.autoAcceptQuote + export const DateTime = JsonSchemas.DateTime + export const bulkTransactionOptions = JsonSchemas.bulkTransactionOptions + export const PartyIdType = JsonSchemas.PartyIdType + export const PartyIdentifier = JsonSchemas.PartyIdentifier + export const PartySubIdOrType = JsonSchemas.PartySubIdOrType + export const ExtensionKey = JsonSchemas.ExtensionKey + export const ExtensionValue = JsonSchemas.ExtensionValue + export const Extension = JsonSchemas.Extension + export const ExtensionList = JsonSchemas.ExtensionList + export const PartyIdInfo = JsonSchemas.PartyIdInfo + export const PartyName = JsonSchemas.PartyName + export const PartyComplexName = JsonSchemas.PartyComplexName + export const PartyPersonalInfo = JsonSchemas.PartyPersonalInfo + export const Party = JsonSchemas.Party + export const AmountType = JsonSchemas.AmountType + export const Note = JsonSchemas.Note + export const Money = JsonSchemas.Money + export const Latitude = JsonSchemas.Latitude + export const Longitude = JsonSchemas.Longitude + export const GeoCode = JsonSchemas.GeoCode + export const IlpPacket = JsonSchemas.IlpPacket + export const IlpCondition = JsonSchemas.IlpCondition + export const QuotesIDPutResponse = JsonSchemas.QuotesIDPutResponse + export const IlpFulfilment = JsonSchemas.IlpFulfilment + export const TransferState = JsonSchemas.TransferState + export const TransfersIDPutResponse = JsonSchemas.TransfersIDPutResponse + export const ErrorCode = JsonSchemas.ErrorCode + export const ErrorDescription = JsonSchemas.ErrorDescription + export const ErrorInformation = JsonSchemas.ErrorInformation + export const mojaloopError = JsonSchemas.mojaloopError + export const transferError = JsonSchemas.transferError + export const bulkTransactionIndividualTransferResult = JsonSchemas.bulkTransactionIndividualTransferResult + export const bulkTransactionResponse = JsonSchemas.bulkTransactionResponse } diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/types.ts b/src/sdk-scheme-adapter/v2_0_0/backend/types.ts index bcac7aa7..082c568d 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/types.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/types.ts @@ -6,10 +6,6 @@ import { components } from './openapi' export namespace Types { export type DateOfBirth = components['schemas']['DateOfBirth'] - export type Extension = components['schemas']['Extension'] - export type ExtensionKey = components['schemas']['ExtensionKey'] - export type ExtensionList = components['schemas']['ExtensionList'] - export type ExtensionValue = components['schemas']['ExtensionValue'] export type FirstName = components['schemas']['FirstName'] export type FspId = components['schemas']['FspId'] export type IndividualQuote = components['schemas']['IndividualQuote'] @@ -20,14 +16,6 @@ export namespace Types { export type LastName = components['schemas']['LastName'] export type MerchantClassificationCode = components['schemas']['MerchantClassificationCode'] export type MiddleName = components['schemas']['MiddleName'] - export type Party = components['schemas']['Party'] - export type PartyComplexName = components['schemas']['PartyComplexName'] - export type PartyIdInfo = components['schemas']['PartyIdInfo'] - export type PartyIdType = components['schemas']['PartyIdType'] - export type PartyIdentifier = components['schemas']['PartyIdentifier'] - export type PartyName = components['schemas']['PartyName'] - export type PartyPersonalInfo = components['schemas']['PartyPersonalInfo'] - export type PartySubIdOrType = components['schemas']['PartySubIdOrType'] export type amountCurrency = components['schemas']['amountCurrency'] export type amountType = components['schemas']['amountType'] export type bulkQuoteId = components['schemas']['bulkQuoteId'] @@ -52,13 +40,11 @@ export namespace Types { export type idSubValue = components['schemas']['idSubValue'] export type idType = components['schemas']['idType'] export type idValue = components['schemas']['idValue'] - export type ilpFulfilment = components['schemas']['ilpFulfilment'] export type ilpPacketData = components['schemas']['ilpPacketData'] export type initiator = components['schemas']['initiator'] export type initiatorType = components['schemas']['initiatorType'] export type latitude = components['schemas']['latitude'] export type longitude = components['schemas']['longitude'] - export type mojaloopError = components['schemas']['mojaloopError'] export type money = components['schemas']['money'] export type otpDetails = components['schemas']['otpDetails'] export type participantsResponse = components['schemas']['participantsResponse'] @@ -73,14 +59,55 @@ export namespace Types { export type transactionRequestId = components['schemas']['transactionRequestId'] export type transactionRequestResponse = components['schemas']['transactionRequestResponse'] export type transactionRequestState = components['schemas']['transactionRequestState'] + export type transactionSubScenario = components['schemas']['transactionSubScenario'] export type transactionType = components['schemas']['transactionType'] export type transactionTypeObject = components['schemas']['transactionTypeObject'] export type transferDetailsResponse = components['schemas']['transferDetailsResponse'] - export type transferError = components['schemas']['transferError'] export type transferId = components['schemas']['transferId'] export type transferParty = components['schemas']['transferParty'] export type transferRequest = components['schemas']['transferRequest'] export type transferResponse = components['schemas']['transferResponse'] export type transferState = components['schemas']['transferState'] export type transferStatus = components['schemas']['transferStatus'] + export type TransactionSubScenario = components['schemas']['TransactionSubScenario'] + export type CorrelationId = components['schemas']['CorrelationId'] + export type bulkTransactionStatus = components['schemas']['bulkTransactionStatus'] + export type autoAcceptPartyOption = components['schemas']['autoAcceptPartyOption'] + export type Currency = components['schemas']['Currency'] + export type Amount = components['schemas']['Amount'] + export type bulkPerTransferFeeLimit = components['schemas']['bulkPerTransferFeeLimit'] + export type autoAcceptQuote = components['schemas']['autoAcceptQuote'] + export type DateTime = components['schemas']['DateTime'] + export type bulkTransactionOptions = components['schemas']['bulkTransactionOptions'] + export type PartyIdType = components['schemas']['PartyIdType'] + export type PartyIdentifier = components['schemas']['PartyIdentifier'] + export type PartySubIdOrType = components['schemas']['PartySubIdOrType'] + export type ExtensionKey = components['schemas']['ExtensionKey'] + export type ExtensionValue = components['schemas']['ExtensionValue'] + export type Extension = components['schemas']['Extension'] + export type ExtensionList = components['schemas']['ExtensionList'] + export type PartyIdInfo = components['schemas']['PartyIdInfo'] + export type PartyName = components['schemas']['PartyName'] + export type PartyComplexName = components['schemas']['PartyComplexName'] + export type PartyPersonalInfo = components['schemas']['PartyPersonalInfo'] + export type Party = components['schemas']['Party'] + export type AmountType = components['schemas']['AmountType'] + export type Note = components['schemas']['Note'] + export type Money = components['schemas']['Money'] + export type Latitude = components['schemas']['Latitude'] + export type Longitude = components['schemas']['Longitude'] + export type GeoCode = components['schemas']['GeoCode'] + export type IlpPacket = components['schemas']['IlpPacket'] + export type IlpCondition = components['schemas']['IlpCondition'] + export type QuotesIDPutResponse = components['schemas']['QuotesIDPutResponse'] + export type IlpFulfilment = components['schemas']['IlpFulfilment'] + export type TransferState = components['schemas']['TransferState'] + export type TransfersIDPutResponse = components['schemas']['TransfersIDPutResponse'] + export type ErrorCode = components['schemas']['ErrorCode'] + export type ErrorDescription = components['schemas']['ErrorDescription'] + export type ErrorInformation = components['schemas']['ErrorInformation'] + export type mojaloopError = components['schemas']['mojaloopError'] + export type transferError = components['schemas']['transferError'] + export type bulkTransactionIndividualTransferResult = components['schemas']['bulkTransactionIndividualTransferResult'] + export type bulkTransactionResponse = components['schemas']['bulkTransactionResponse'] } diff --git a/src/sdk-scheme-adapter/v2_0_0/outbound/json-schemas.json b/src/sdk-scheme-adapter/v2_0_0/outbound/json-schemas.json index eeebc5fe..6cfd860f 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/json-schemas.json +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/json-schemas.json @@ -1,16 +1,4 @@ { - "TransactionInitiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, "PartyIdType": { "title": "PartyIdType", "type": "string", @@ -41,231 +29,536 @@ "maxLength": 128, "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." }, - "Name": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "FirstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "MiddleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "LastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "DateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "MerchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "FspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "ExtensionKey": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "ExtensionValue": { - "title": "ExtensionValue", + "Currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "Extension": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "extensionListEmptiable": { + "accountsRequest": { "type": "array", "items": { - "title": "Extension", "type": "object", - "description": "Data model for the complex type Extension.", + "required": [ + "idType", + "idValue", + "currency" + ], "properties": { - "key": { - "title": "ExtensionKey", + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", "type": "string", "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" }, - "value": { - "title": "ExtensionValue", + "idSubValue": { + "title": "PartySubIdOrType", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Extension value." + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 + } + } }, - "transferParty": { + "CorrelationId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "errorResponse": { "type": "object", - "required": [ - "idType", - "idValue" - ], "properties": { - "type": { - "title": "TransactionInitiatorType", + "statusCode": { "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + "description": "Error code as string." }, - "firstName": { - "title": "FirstName", + "message": { "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", + "description": "Error message text." + } + } + }, + "accountCreationStatus": { + "type": "array", + "items": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "error": { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } + } + } + } + }, + "accountsCreationState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "ErrorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "ErrorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "ExtensionKey": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "ExtensionValue": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + }, + "Extension": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", "type": "string", "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" + "maxLength": 32, + "description": "Extension key." }, - "lastName": { - "title": "LastName", + "value": { + "title": "ExtensionValue", "type": "string", "minLength": 1, "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "ExtensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { "type": "array", "items": { "title": "Extension", @@ -292,10674 +585,1306 @@ "value" ] }, - "minItems": 0, - "maxItems": 16 + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } - }, - "AmountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" + }, + "required": [ + "extension" + ] }, - "Currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "Amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transferTransactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "Note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "transferRequest": { + "ErrorInformation": { + "title": "ErrorInformation", "type": "object", - "required": [ - "homeTransactionId", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType" - ], + "description": "Data model for the complex type ErrorInformation.", "properties": { - "homeTransactionId": { + "errorCode": { + "title": "ErrorCode", "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "from": { + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, "required": [ - "idType", - "idValue" - ], + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + }, + "mojaloopError": { + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", "properties": { - "type": { - "title": "TransactionInitiatorType", + "errorCode": { + "title": "ErrorCode", "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "lastName": { - "title": "LastName", + "errorDescription": { + "title": "ErrorDescription", "type": "string", "minLength": 1, "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "description": "Error description string." }, "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } }, - "minItems": 0, - "maxItems": 16 + "required": [ + "extension" + ] } - } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + }, + "transferError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, - "to": { + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "required": [ - "idType", - "idValue" - ], "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "required": [ - "key", - "value" - ] + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } }, - "minItems": 0, - "maxItems": 16 + "required": [ + "errorCode", + "errorDescription" + ] } } - }, - "amountType": { - "title": "AmountType", + } + } + }, + "accountsResponse": { + "type": "object", + "required": [ + "accounts" + ], + "properties": { + "modelId": { + "title": "CorrelationId", "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "quoteRequestExtensions": { + "accounts": { "type": "array", "items": { - "title": "Extension", "type": "object", - "description": "Data model for the complex type Extension.", + "required": [ + "idType", + "idValue", + "currency" + ], "properties": { - "key": { - "title": "ExtensionKey", + "idType": { + "title": "PartyIdType", "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." }, - "value": { - "title": "ExtensionValue", + "idValue": { + "title": "PartyIdentifier", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - }, - "transferRequestExtensions": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "description": "Identifier of the Party.", + "example": "16135551212" }, - "value": { - "title": "ExtensionValue", + "idSubValue": { + "title": "PartySubIdOrType", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", - "type": "boolean" - } - } - }, - "CorrelationId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "transferStatus": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ] - }, - "Money": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "DateTime": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "Latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "Longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - }, - "GeoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "IlpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "IlpCondition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "ExtensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." }, - "value": { - "title": "ExtensionValue", + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "QuotesIDPutResponse": { - "title": "QuotesIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", - "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspFee": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "IlpFulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "TransferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "TransfersIDPutResponse": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "transferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "ErrorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "ErrorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "ErrorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - }, - "mojaloopError": { - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - }, - "transferError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - }, - "transferResponse": { - "type": "object", - "required": [ - "homeTransactionId", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "from": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "to": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ] - }, - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "getPartiesResponse": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "type": "object" - }, - "headers": { - "type": "object" - } - } - }, - "quoteResponse": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "title": "QuotesIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", - "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspFee": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "headers": { - "type": "object" - } - } - }, - "quoteResponseSource": { - "type": "string", - "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" - }, - "fulfil": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "transferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "headers": { - "type": "object" - } - } - }, - "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "type": "object", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", - "type": "boolean" - } - } - }, - "errorResponse": { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - "errorTransferResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - { - "type": "object", - "required": [ - "transferState" - ], - "properties": { - "transferState": { - "type": "object", - "required": [ - "homeTransactionId", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "from": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "to": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ] - }, - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "getPartiesResponse": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "type": "object" - }, - "headers": { - "type": "object" - } - } - }, - "quoteResponse": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "title": "QuotesIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", - "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspFee": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "headers": { - "type": "object" - } - } - }, - "quoteResponseSource": { - "type": "string", - "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" - }, - "fulfil": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "transferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "headers": { - "type": "object" - } - } - }, - "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "type": "object", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", - "type": "boolean" - } - } - } - } - } - ] - }, - "transferStatusResponse": { - "type": "object", - "required": [ - "transferId", - "currentState", - "fulfil" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ] - }, - "fulfil": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "transferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "headers": { - "type": "object" - } - } - } - } - }, - "transferContinuationAcceptParty": { - "type": "object", - "required": [ - "acceptParty" - ], - "properties": { - "acceptParty": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - }, - "transferContinuationAcceptQuote": { - "type": "object", - "required": [ - "acceptQuote" - ], - "properties": { - "acceptQuote": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - }, - "autoAcceptPartyOption": { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - false, - true - ] - } - } - }, - "bulkPerTransferFeeLimit": { - "type": "object", - "required": [ - "currency", - "amount" - ], - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - } - }, - "autoAcceptQuote": { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true, - false - ] - }, - "perTransferFeeLimits": { - "type": "array", - "minItems": 0, - "items": { - "type": "object", - "required": [ - "currency", - "amount" - ], - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - } - } - } - } - }, - "bulkTransactionOptions": { - "type": "object", - "required": [ - "autoAcceptParty", - "autoAcceptQuote", - "bulkExpiration" - ], - "properties": { - "onlyValidateParty": { - "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", - "type": "boolean" - }, - "autoAcceptParty": { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - false, - true - ] - } - } - }, - "autoAcceptQuote": { - "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", - "type": "object", - "oneOf": [ - { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true, - false - ] - }, - "perTransferFeeLimits": { - "type": "array", - "minItems": 0, - "items": { - "type": "object", - "required": [ - "currency", - "amount" - ], - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - } - } - } - } - } - ] - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", - "type": "boolean" - }, - "synchronous": { - "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", - "type": "boolean" - }, - "bulkExpiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - } - } - }, - "PartyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "PartyName": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "PartyComplexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "PartyPersonalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - }, - "Party": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "bulkTransactionIndividualTransfer": { - "title": "BulkTransactionIndividualTransfer", - "type": "object", - "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.", - "properties": { - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "to": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "reference": { - "description": "Payer Loan reference", - "type": "string" - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "quoteExtensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "transferExtensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - }, - "required": [ - "homeTransactionId", - "to", - "amountType", - "currency", - "amount" - ] - }, - "bulkTransactionRequest": { - "type": "object", - "required": [ - "bulkTransactionId", - "bulkHomeTransactionID", - "options", - "from", - "individualTransfers" - ], - "properties": { - "bulkHomeTransactionID": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "bulkTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "options": { - "type": "object", - "required": [ - "autoAcceptParty", - "autoAcceptQuote", - "bulkExpiration" - ], - "properties": { - "onlyValidateParty": { - "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", - "type": "boolean" - }, - "autoAcceptParty": { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - false, - true - ] - } - } - }, - "autoAcceptQuote": { - "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", - "type": "object", - "oneOf": [ - { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true, - false - ] - }, - "perTransferFeeLimits": { - "type": "array", - "minItems": 0, - "items": { - "type": "object", - "required": [ - "currency", - "amount" - ], - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - } - } - } - } - } - ] - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", - "type": "boolean" - }, - "synchronous": { - "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", - "type": "boolean" - }, - "bulkExpiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - } - } - }, - "from": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer.", - "type": "array", - "minItems": 1, - "items": { - "title": "BulkTransactionIndividualTransfer", - "type": "object", - "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.", - "properties": { - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "to": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "reference": { - "description": "Payer Loan reference", - "type": "string" - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "quoteExtensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "transferExtensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - }, - "required": [ - "homeTransactionId", - "to", - "amountType", - "currency", - "amount" - ] - } - }, - "extensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - } - }, - "bulkTransferStatus": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "individualTransferResult": { - "type": "object", - "required": [ - "transferId" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - } - }, - "bulkTransferResponse": { - "type": "object", - "required": [ - "bulkTransferId", - "individualTransferResults", - "currentState" - ], - "properties": { - "bulkTransferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "bulkQuoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "bulkTransferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "individualTransferResults": { - "type": "array", - "maxItems": 1000, - "items": { - "type": "object", - "required": [ - "transferId" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - } - }, - "description": "List of individual transfer result in a bulk transfer response." - } - } - }, - "bulkTransferErrorResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - { - "type": "object", - "required": [ - "bulkTransferState" - ], - "properties": { - "bulkTransferState": { - "type": "object", - "required": [ - "bulkTransferId", - "individualTransferResults", - "currentState" - ], - "properties": { - "bulkTransferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "bulkQuoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "bulkTransferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "individualTransferResults": { - "type": "array", - "maxItems": 1000, - "items": { - "type": "object", - "required": [ - "transferId" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - } - }, - "description": "List of individual transfer result in a bulk transfer response." - } - } - } - } - } - ] - }, - "bulkTransactionIndividualTransferAccept": { - "type": "object", - "description": "Data model for the 'individualTransfer' while accepting party or quote.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - } - }, - "required": [ - "transferId" - ] - }, - "bulkTransactionContinuationAcceptParty": { - "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.", - "type": "object", - "required": [ - "individualTransfers" - ], - "properties": { - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer with accept party information.", - "type": "array", - "minItems": 1, - "items": { - "allOf": [ - { - "type": "object", - "description": "Data model for the 'individualTransfer' while accepting party or quote.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - } - }, - "required": [ - "transferId" - ] - }, - { - "type": "object", - "required": [ - "acceptParty" - ], - "properties": { - "acceptParty": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - } - ] - } - } - } - }, - "bulkTransactionContinuationAcceptQuote": { - "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.", - "type": "object", - "required": [ - "individualTransfers" - ], - "properties": { - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer.", - "type": "array", - "minItems": 1, - "items": { - "allOf": [ - { - "type": "object", - "description": "Data model for the 'individualTransfer' while accepting party or quote.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - } - }, - "required": [ - "transferId" - ] - }, - { - "type": "object", - "required": [ - "acceptQuote" - ], - "properties": { - "acceptQuote": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - } - ] - } - } - } - }, - "partyError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the party discovery process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - }, - "bulkTransactionAcceptPartyErrorResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - { - "type": "object", - "required": [ - "bulkTransferState" - ], - "properties": { - "bulkTransferState": { - "allOf": [ - { - "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.", - "type": "object", - "required": [ - "individualTransfers" - ], - "properties": { - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer with accept party information.", - "type": "array", - "minItems": 1, - "items": { - "allOf": [ - { - "type": "object", - "description": "Data model for the 'individualTransfer' while accepting party or quote.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - } - }, - "required": [ - "transferId" - ] - }, - { - "type": "object", - "required": [ - "acceptParty" - ], - "properties": { - "acceptParty": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - } - ] - } - } - } - }, - { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the party discovery process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - ] - } - } - } - ] - }, - "quoteError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the quote process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - }, - "bulkTransactionAcceptQuoteErrorResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - { - "type": "object", - "required": [ - "bulkTansferState" - ], - "properties": { - "bulkTransferState": { - "allOf": [ - { - "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.", - "type": "object", - "required": [ - "individualTransfers" - ], - "properties": { - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer.", - "type": "array", - "minItems": 1, - "items": { - "allOf": [ - { - "type": "object", - "description": "Data model for the 'individualTransfer' while accepting party or quote.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - } - }, - "required": [ - "transferId" - ] - }, - { - "type": "object", - "required": [ - "acceptQuote" - ], - "properties": { - "acceptQuote": { - "type": "boolean", - "enum": [ - true, - false - ] - } - } - } - ] - } - } - } - }, - { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the quote process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - ] - } - } - } - ] - }, - "individualTransfer": { - "title": "IndividualTransfer", - "type": "object", - "description": "Data model for the complex type 'individualTransfer'.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "to": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + } + } + } }, - "extensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", + "response": { + "type": "array", + "items": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "error": { "type": "object", - "description": "Data model for the complex type Extension.", "properties": { - "key": { - "title": "ExtensionKey", + "statusCode": { "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "description": "Error code as string." }, - "value": { - "title": "ExtensionValue", + "message": { "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "description": "Error message text." } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + } + } } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferId", - "to", - "amountType", - "currency", - "amount", - "ilpPacket", - "condition" - ] - }, - "bulkTransferRequest": { - "type": "object", - "required": [ - "bulkTransferId", - "homeTransactionId", - "bulkQuoteId", - "from", - "individualTransfers" - ], - "properties": { - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + } }, - "bulkTransferId": { - "title": "CorrelationId", + "currentState": { "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] }, - "bulkQuoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } }, - "from": { + "postAccountsResponse": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "type": "object" + }, + "headers": { + "type": "object" + } + } + } + } + }, + "errorAccountsResponse": { + "allOf": [ + { "type": "object", - "required": [ - "idType", - "idValue" - ], "properties": { - "type": { - "title": "TransactionInitiatorType", + "statusCode": { "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" + "description": "Error code as string." }, - "idType": { - "title": "PartyIdType", + "message": { "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" + "description": "Error message text." + } + } + }, + { + "type": "object", + "required": [ + "executionState" + ], + "properties": { + "executionState": { + "type": "object", + "required": [ + "accounts" ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "properties": { + "modelId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "accounts": { + "type": "array", + "items": { + "type": "object", + "required": [ + "idType", + "idValue", + "currency" + ], + "properties": { + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + } + } } }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "individualTransfers": { - "description": "List of individual transfers in a bulk transfer.", - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "title": "IndividualTransfer", - "type": "object", - "description": "Data model for the complex type 'individualTransfer'.", - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "to": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" + "response": { + "type": "array", + "items": { + "type": "object", + "required": [ + "idType", + "idValue" ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "properties": { + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "extensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "error": { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } + } + } + } + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type Extension.", "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + } + } } }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferId", - "to", - "amountType", - "currency", - "amount", - "ilpPacket", - "condition" - ] - } - }, - "extensions": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "postAccountsResponse": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "type": "object" + }, + "headers": { + "type": "object" + } } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + } + } } - }, - "required": [ - "extension" - ] + } } - } + ] + }, + "TransactionInitiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "Name": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "FirstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "MiddleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "LastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "DateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" }, - "individualTransferFulfilment": { - "type": "object", - "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer", - "properties": { - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "MerchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "FspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionListEmptiable": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "extension" - ] - } - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 }, - "bulkTransferStatusResponse": { + "transferParty": { "type": "object", "required": [ - "bulkTransferId", - "currentState", - "fulfils" + "idType", + "idValue" ], "properties": { - "bulkTransferId": { - "title": "CorrelationId", + "type": { + "title": "TransactionInitiatorType", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" }, - "currentState": { + "idType": { + "title": "PartyIdType", "type": "string", "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." }, - "fulfils": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "type": "object", - "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer", - "properties": { - "fulfilment": { - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } - } - } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 } } }, + "AmountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "Amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transferTransactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "TransactionSubScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "Note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, "individualQuote": { "title": "IndividualQuote", "type": "object", @@ -11304,6 +2229,13 @@ ], "description": "Type of transaction." }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "note": { "title": "Note", "type": "string", @@ -11865,6 +2797,13 @@ ], "description": "Type of transaction." }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, "note": { "title": "Note", "type": "string", @@ -11925,46 +2864,388 @@ ] } }, - "extensions": { - "title": "ExtensionList", + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + } + }, + "DateTime": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "bulkTransferStatus": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "Money": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "Latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "Longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + }, + "GeoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "IlpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "IlpCondition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "quoteError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the quote process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "required": [ - "key", - "value" - ] + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + "required": [ + "errorCode", + "errorDescription" + ] } - }, - "required": [ - "extension" - ] + } } } }, @@ -12784,9 +4065,9 @@ "description": "Condition that must be attached to the transfer by the Payer." }, "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "title": "ExtensionList", "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { "type": "array", @@ -12825,7 +4106,7 @@ ] }, "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the quote process", + "description": "Object representing the last error to occur during a quote process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.\n", "type": "object", "properties": { "httpStatusCode": { @@ -13808,9 +5089,9 @@ "description": "Condition that must be attached to the transfer by the Payer." }, "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "title": "ExtensionList", "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { "extension": { "type": "array", @@ -13849,7 +5130,7 @@ ] }, "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the quote process", + "description": "Object representing the last error to occur during a quote process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.\n", "type": "object", "properties": { "httpStatusCode": { @@ -14802,900 +6083,2569 @@ "ZWD" ] }, - "amount": { - "title": "Amount", + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "description": "Object representing the last error to occur during a quote process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter.\n", + "type": "object", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } } + } + } + }, + "required": [ + "quoteId", + "transferAmount", + "ilpPacket", + "condition" + ] + }, + "description": "List of individualQuoteResults in a bulk transfer response." + } + } + } + } + } + ] + }, + "bulkQuoteStatus": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "bulkQuoteStatusResponse": { + "type": "object", + "required": [ + "bulkQuoteId", + "currentState", + "individualQuotes" + ], + "properties": { + "bulkQuoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "individualQuotes": { + "type": "array", + "minItems": 1, + "maxItems": 1000, + "items": { + "title": "IndividualQuote", + "type": "object", + "description": "Data model for the complex type 'individualQuote'.", + "properties": { + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "to": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "currency", - "amount" - ] + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "quoteId", + "to", + "amountType", + "currency", + "transactionType", + "amount" + ] + } + } + } + }, + "autoAcceptPartyOption": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "bulkPerTransferFeeLimit": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + }, + "autoAcceptQuote": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + }, + "bulkTransactionOptions": { + "type": "object", + "required": [ + "autoAcceptParty", + "autoAcceptQuote", + "bulkExpiration" + ], + "properties": { + "onlyValidateParty": { + "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", + "type": "boolean" + }, + "autoAcceptParty": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "autoAcceptQuote": { + "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", + "type": "object", + "oneOf": [ + { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] }, - "ilpPacket": { - "title": "IlpPacket", + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + } + ] + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", + "type": "boolean" + }, + "synchronous": { + "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", + "type": "boolean" + }, + "bulkExpiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + } + } + }, + "PartyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "PartyName": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "PartyComplexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "PartyPersonalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + }, + "Party": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + "maxLength": 32, + "description": "Extension key." }, - "condition": { - "title": "IlpCondition", + "value": { + "title": "ExtensionValue", "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "extensionList": { - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "title": "ExtensionList", - "type": "object", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the quote process", - "type": "object", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "bulkTransactionIndividualTransfer": { + "title": "BulkTransactionIndividualTransfer", + "type": "object", + "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.", + "properties": { + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "to": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } - } - } - }, - "required": [ - "quoteId", - "transferAmount", - "ilpPacket", - "condition" - ] + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } }, - "description": "List of individualQuoteResults in a bulk transfer response." + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } } } - } - } - ] - }, - "bulkQuoteStatus": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "bulkQuoteStatusResponse": { - "type": "object", - "required": [ - "bulkQuoteId", - "currentState", - "individualQuotes" - ], - "properties": { - "bulkQuoteId": { - "title": "CorrelationId", + }, + "required": [ + "partyIdInfo" + ] + }, + "reference": { + "description": "Payer Loan reference", + "type": "string" + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" }, - "currentState": { + "note": { + "title": "Note", "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." }, - "individualQuotes": { - "type": "array", - "minItems": 1, - "maxItems": 1000, - "items": { - "title": "IndividualQuote", - "type": "object", - "description": "Data model for the complex type 'individualQuote'.", - "properties": { - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "to": { + "quoteExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", "type": "object", - "required": [ - "idType", - "idValue" - ], + "description": "Data model for the complex type Extension.", "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", + "key": { + "title": "ExtensionKey", "type": "string", "minLength": 1, "maxLength": 32, - "description": "FSP identifier." + "description": "Extension key." }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + }, + "required": [ + "key", + "value" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "extensions": { - "title": "ExtensionList", + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "transferExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "description": "Data model for the complex type Extension.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", "type": "object", - "description": "Data model for the complex type Extension.", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "key", - "value" + "extension" ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } } - }, - "required": [ - "quoteId", - "to", - "amountType", - "currency", - "transactionType", - "amount" - ] + } } } - } - }, - "TransactionScenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "TransactionSubScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "TransactionInitiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "RefundReason": { - "title": "RefundReason", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." - }, - "Refund": { - "title": "Refund", - "type": "object", - "description": "Data model for the complex type Refund.", - "properties": { - "originalTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "refundReason": { - "title": "RefundReason", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." - } }, "required": [ - "originalTransactionId" + "homeTransactionId", + "to", + "amountType", + "currency", + "amount" ] }, - "BalanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" - }, - "TransactionType": { - "title": "TransactionType", + "bulkTransactionRequest": { "type": "object", - "description": "Data model for the complex type TransactionType.", - "properties": { - "scenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "initiator": { - "title": "TransactionInitiator", + "required": [ + "bulkTransactionId", + "bulkHomeTransactionID", + "options", + "from", + "individualTransfers" + ], + "properties": { + "bulkHomeTransactionID": { "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." }, - "initiatorType": { - "title": "TransactionInitiatorType", + "bulkTransactionId": { + "title": "CorrelationId", "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "refundInfo": { - "title": "Refund", + "options": { "type": "object", - "description": "Data model for the complex type Refund.", + "required": [ + "autoAcceptParty", + "autoAcceptQuote", + "bulkExpiration" + ], "properties": { - "originalTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "onlyValidateParty": { + "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", + "type": "boolean" + }, + "autoAcceptParty": { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + false, + true + ] + } + } + }, + "autoAcceptQuote": { + "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", + "type": "object", + "oneOf": [ + { + "type": "object", + "required": [ + "enabled" + ], + "properties": { + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] + }, + "perTransferFeeLimits": { + "type": "array", + "minItems": 0, + "items": { + "type": "object", + "required": [ + "currency", + "amount" + ], + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } + } + } + } + } + ] }, - "refundReason": { - "title": "RefundReason", + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", + "type": "boolean" + }, + "synchronous": { + "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", + "type": "boolean" + }, + "bulkExpiration": { + "title": "DateTime", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" } - }, - "required": [ - "originalTransactionId" - ] - }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" - } - }, - "required": [ - "scenario", - "initiator", - "initiatorType" - ] - }, - "requestToPayRequest": { - "type": "object", - "required": [ - "homeTransactionId", - "from", - "to", - "amountType", - "currency", - "amount", - "scenario", - "initiator", - "initiatorType" - ], - "properties": { - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + } }, "from": { + "title": "Party", "type": "object", - "required": [ - "idType", - "idValue" - ], + "description": "Data model for the complex type Party.", "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] }, "merchantClassificationCode": { "title": "MerchantClassificationCode", @@ -15703,14 +8653,621 @@ "pattern": "^[\\d]{1,4}$", "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." }, - "fspId": { - "title": "FspId", + "name": { + "title": "PartyName", "type": "string", "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer.", + "type": "array", + "minItems": 1, + "items": { + "title": "BulkTransactionIndividualTransfer", + "type": "object", + "description": "Data model for the complex type 'bulkTransactionIndividualTransfer'.", + "properties": { + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "to": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "reference": { + "description": "Payer Loan reference", + "type": "string" + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "quoteExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "transferExtensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } }, - "extensionList": { + "required": [ + "homeTransactionId", + "to", + "amountType", + "currency", + "amount" + ] + } + }, + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { "type": "array", "items": { "title": "Extension", @@ -15737,114 +9294,64 @@ "value" ] }, - "minItems": 0, - "maxItems": 16 + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } - }, - "to": { - "type": "object", + }, "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { + "extension" + ] + } + } + }, + "TransferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "IlpFulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "individualTransferResult": { + "type": "object", + "required": [ + "transferId" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "fulfilment": { + "description": "Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully.\n", + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { "type": "array", "items": { "title": "Extension", @@ -15871,487 +9378,1173 @@ "value" ] }, - "minItems": 0, - "maxItems": 16 + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" + }, + "required": [ + "extension" + ] }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } + } + }, + "bulkTransferResponse": { + "type": "object", + "required": [ + "bulkTransferId", + "individualTransferResults", + "currentState" + ], + "properties": { + "bulkTransferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "bulkQuoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "bulkTransferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" ] }, - "amount": { - "title": "Amount", + "individualTransferResults": { + "type": "array", + "maxItems": 1000, + "items": { + "type": "object", + "required": [ + "transferId" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "fulfilment": { + "description": "Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully.\n", + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } + } + }, + "description": "List of individual transfer result in a bulk transfer response." + } + } + }, + "bulkTransferErrorResponse": { + "allOf": [ + { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } + }, + { + "type": "object", + "required": [ + "bulkTransferState" + ], + "properties": { + "bulkTransferState": { + "type": "object", + "required": [ + "bulkTransferId", + "individualTransferResults", + "currentState" + ], + "properties": { + "bulkTransferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "bulkQuoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "bulkTransferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] + }, + "individualTransferResults": { + "type": "array", + "maxItems": 1000, + "items": { + "type": "object", + "required": [ + "transferId" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "fulfilment": { + "description": "Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully.\n", + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } + } + }, + "description": "List of individual transfer result in a bulk transfer response." + } + } + } + } + } + ] + }, + "bulkTransactionIndividualTransferAccept": { + "type": "object", + "description": "Data model for the 'individualTransfer' while accepting party or quote.", + "properties": { + "transferId": { + "title": "CorrelationId", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + } + }, + "required": [ + "transferId" + ] + }, + "transferContinuationAcceptParty": { + "type": "object", + "required": [ + "acceptParty" + ], + "properties": { + "acceptParty": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + }, + "bulkTransactionContinuationAcceptParty": { + "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.", + "type": "object", + "required": [ + "individualTransfers" + ], + "properties": { + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer with accept party information.", + "type": "array", + "minItems": 1, + "items": { + "allOf": [ + { + "type": "object", + "description": "Data model for the 'individualTransfer' while accepting party or quote.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + } + }, + "required": [ + "transferId" + ] + }, + { + "type": "object", + "required": [ + "acceptParty" + ], + "properties": { + "acceptParty": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + } + ] + } + } + } + }, + "transferContinuationAcceptQuote": { + "type": "object", + "required": [ + "acceptQuote" + ], + "properties": { + "acceptQuote": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + }, + "bulkTransactionContinuationAcceptQuote": { + "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.", + "type": "object", + "required": [ + "individualTransfers" + ], + "properties": { + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer.", + "type": "array", + "minItems": 1, + "items": { + "allOf": [ + { + "type": "object", + "description": "Data model for the 'individualTransfer' while accepting party or quote.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + } + }, + "required": [ + "transferId" + ] + }, + { + "type": "object", + "required": [ + "acceptQuote" + ], + "properties": { + "acceptQuote": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + } + ] + } + } + } + }, + "partyError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the party discovery process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, - "scenario": { - "title": "TransactionType", + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type TransactionType.", "properties": { - "scenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "initiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "initiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "refundInfo": { - "title": "Refund", + "errorInformation": { + "title": "ErrorInformation", "type": "object", - "description": "Data model for the complex type Refund.", + "description": "Data model for the complex type ErrorInformation.", "properties": { - "originalTransactionId": { - "title": "CorrelationId", + "errorCode": { + "title": "ErrorCode", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "refundReason": { - "title": "RefundReason", + "errorDescription": { + "title": "ErrorDescription", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ - "originalTransactionId" + "errorCode", + "errorDescription" ] - }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" } - }, - "required": [ - "scenario", - "initiator", - "initiatorType" - ] - }, - "initiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "initiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" + } } } }, - "AuthenticationType": { - "title": "AuthenticationType", - "type": "string", - "enum": [ - "OTP", - "QRCODE", - "U2F" - ], - "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.", - "example": "OTP" - }, - "TransactionRequestState": { - "title": "TransactionRequestState", - "type": "string", - "enum": [ - "RECEIVED", - "PENDING", - "ACCEPTED", - "REJECTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.", - "example": "RECEIVED" - }, - "requestToPayResponse": { - "type": "object", - "required": [ - "transactionRequestId", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType", - "requestToPayState" - ], - "properties": { - "transactionRequestId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "bulkTransactionAcceptPartyErrorResponse": { + "allOf": [ + { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } }, - "from": { + { + "type": "object", + "required": [ + "bulkTransferState" + ], + "properties": { + "bulkTransferState": { + "allOf": [ + { + "description": "The object sent back as confirmation of payee parties when autoAcceptParty is false.", + "type": "object", + "required": [ + "individualTransfers" + ], + "properties": { + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer with accept party information.", + "type": "array", + "minItems": 1, + "items": { + "allOf": [ + { + "type": "object", + "description": "Data model for the 'individualTransfer' while accepting party or quote.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + } + }, + "required": [ + "transferId" + ] + }, + { + "type": "object", + "required": [ + "acceptParty" + ], + "properties": { + "acceptParty": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + } + ] + } + } + } + }, + { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the party discovery process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } + } + } + ] + } + } + } + ] + }, + "bulkTransactionAcceptQuoteErrorResponse": { + "allOf": [ + { "type": "object", - "required": [ - "idType", - "idValue" - ], "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", + "statusCode": { "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + "description": "Error code as string." }, - "fspId": { - "title": "FspId", + "message": { "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "description": "Error message text." + } + } + }, + { + "type": "object", + "required": [ + "bulkTansferState" + ], + "properties": { + "bulkTransferState": { + "allOf": [ + { + "description": "The object sent back as confirmation of quotes when autoAcceptQuotes is false.", + "type": "object", + "required": [ + "individualTransfers" + ], + "properties": { + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer.", + "type": "array", + "minItems": 1, + "items": { + "allOf": [ + { + "type": "object", + "description": "Data model for the 'individualTransfer' while accepting party or quote.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + } + }, + "required": [ + "transferId" + ] + }, + { + "type": "object", + "required": [ + "acceptQuote" + ], + "properties": { + "acceptQuote": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + } + ] + } + } + } + }, + { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the quote process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } + } } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 + } + ] } } + } + ] + }, + "individualTransfer": { + "title": "IndividualTransfer", + "type": "object", + "description": "Data model for the complex type 'individualTransfer'.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, "to": { "type": "object", @@ -16677,157 +10870,125 @@ "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", "example": "123.45" }, - "scenario": { - "title": "TransactionType", - "type": "object", - "description": "Data model for the complex type TransactionType.", - "properties": { - "scenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "initiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "initiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "refundInfo": { - "title": "Refund", - "type": "object", - "description": "Data model for the complex type Refund.", - "properties": { - "originalTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "refundReason": { - "title": "RefundReason", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." - } - }, - "required": [ - "originalTransactionId" - ] - }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" - } - }, - "required": [ - "scenario", - "initiator", - "initiatorType" - ] - }, - "initiator": { - "title": "TransactionInitiator", + "transactionType": { + "title": "transferTransactionType", "type": "string", "enum": [ - "PAYER", - "PAYEE" + "TRANSFER" ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" + "description": "Type of transaction." }, - "initiatorType": { - "title": "TransactionInitiatorType", + "subScenario": { + "title": "TransactionSubScenario", "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" }, - "authenticationType": { - "title": "AuthenticationType", + "ilpPacket": { + "title": "IlpPacket", "type": "string", - "enum": [ - "OTP", - "QRCODE", - "U2F" - ], - "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.", - "example": "OTP" + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" }, - "requestToPayState": { - "title": "TransactionRequestState", + "condition": { + "title": "IlpCondition", "type": "string", - "enum": [ - "RECEIVED", - "PENDING", - "ACCEPTED", - "REJECTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.", - "example": "RECEIVED" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } - } + }, + "required": [ + "transferId", + "to", + "amountType", + "currency", + "amount", + "ilpPacket", + "condition" + ] }, - "requestToPayTransferRequest": { + "bulkTransferRequest": { "type": "object", "required": [ - "requestToPayTransactionId", + "bulkTransferId", + "homeTransactionId", + "bulkQuoteId", "from", - "to", - "amountType", - "currency", - "amount", - "scenario", - "initiator", - "initiatorType" + "individualTransfers" ], "properties": { - "requestToPayTransactionId": { + "homeTransactionId": { "type": "string", "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." }, + "bulkTransferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "bulkQuoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, "from": { "type": "object", "required": [ @@ -16957,114 +11118,450 @@ "value" ] }, - "minItems": 0, - "maxItems": 16 - } - } - }, - "to": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "minItems": 0, + "maxItems": 16 + } + } + }, + "individualTransfers": { + "description": "List of individual transfers in a bulk transfer.", + "type": "array", + "minItems": 1, + "maxItems": 1000, + "items": { + "title": "IndividualTransfer", + "type": "object", + "description": "Data model for the complex type 'individualTransfer'.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "to": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } }, - "extensionList": { + "required": [ + "transferId", + "to", + "amountType", + "currency", + "amount", + "ilpPacket", + "condition" + ] + } + }, + "extensions": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { "type": "array", "items": { "title": "Extension", @@ -17091,286 +11588,441 @@ "value" ] }, - "minItems": 0, - "maxItems": 16 + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + }, + "required": [ + "extension" + ] + } + } + }, + "individualTransferFulfilment": { + "type": "object", + "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer", + "properties": { + "fulfilment": { + "description": "Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully.\n", + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" ] + } + } + }, + "bulkTransferStatusResponse": { + "type": "object", + "required": [ + "bulkTransferId", + "currentState", + "fulfils" + ], + "properties": { + "bulkTransferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "amount": { - "title": "Amount", + "currentState": { "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "enum": [ + "ERROR_OCCURRED", + "COMPLETED" + ] }, - "scenario": { - "title": "TransactionType", - "type": "object", - "description": "Data model for the complex type TransactionType.", + "fulfils": { + "type": "array", + "minItems": 1, + "maxItems": 1000, + "items": { + "type": "object", + "description": "A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer", + "properties": { + "fulfilment": { + "description": "Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully.\n", + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + } + } + } + } + }, + "async2SyncCurrentState": { + "type": "string", + "enum": [ + "WAITING_FOR_ACTION", + "COMPLETED", + "ERROR_OCCURRED" + ] + }, + "partiesByIdResponse": { + "title": "partiesByIdResponse", + "type": "object", + "description": "GET /parties/{Type}/{ID} response object", + "properties": { + "party": { "properties": { - "scenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "initiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "initiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "refundInfo": { - "title": "Refund", + "body": { + "title": "Party", "type": "object", - "description": "Data model for the complex type Refund.", + "description": "Data model for the complex type Party.", "properties": { - "originalTransactionId": { - "title": "CorrelationId", + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." }, - "refundReason": { - "title": "RefundReason", + "name": { + "title": "PartyName", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } } }, "required": [ - "originalTransactionId" + "partyIdInfo" ] }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" + "headers": { + "type": "object" } }, "required": [ - "scenario", - "initiator", - "initiatorType" + "body", + "headers" + ] + }, + "currentState": { + "type": "string", + "enum": [ + "WAITING_FOR_ACTION", + "COMPLETED", + "ERROR_OCCURRED" ] + } + }, + "required": [ + "party", + "currentState" + ] + }, + "TransactionScenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "TransactionInitiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "RefundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + }, + "Refund": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "BalanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" + }, + "TransactionType": { + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" }, "initiator": { "title": "TransactionInitiator", @@ -17394,261 +12046,164 @@ "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", "example": "CONSUMER" }, - "note": { - "title": "Note", + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" } - } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] }, - "requestToPayTransferResponse": { + "QuotesPostRequest": { + "title": "QuotesPostRequest", "type": "object", - "required": [ - "requestToPayTransactionId", - "from", - "to", - "amountType", - "currency", - "amount", - "transactionType" - ], + "description": "The object sent in the POST /quotes request.", "properties": { - "transferId": { + "quoteId": { "title": "CorrelationId", "type": "string", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "requestToPayTransactionId": { + "transactionId": { + "title": "CorrelationId", "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "from": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 - } - } + "transactionRequestId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "to": { + "payee": { + "title": "Party", "type": "object", - "required": [ - "idType", - "idValue" - ], + "description": "Data model for the complex type Party.", "properties": { - "type": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "displayName": { - "title": "Name", - "type": "string", - "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", - "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." - }, - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] }, "merchantClassificationCode": { "title": "MerchantClassificationCode", @@ -17656,44 +12211,225 @@ "pattern": "^[\\d]{1,4}$", "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." }, - "fspId": { - "title": "FspId", + "name": { + "title": "PartyName", "type": "string", "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, - "extensionList": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "payer": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } } }, - "required": [ - "key", - "value" - ] - }, - "minItems": 0, - "maxItems": 16 + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } } - } + }, + "required": [ + "partyIdInfo" + ] }, "amountType": { "title": "AmountType", @@ -17705,193 +12441,498 @@ "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", "example": "RECEIVE" }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "amount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "fees": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, "transactionType": { - "title": "transferTransactionType", - "type": "string", - "enum": [ - "TRANSFER" - ], - "description": "Type of transaction." + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" + } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] }, "note": { "title": "Note", @@ -17901,28 +12942,433 @@ "description": "Memo assigned to transaction.", "example": "Note sent to Payee." }, - "currentState": { + "expiration": { + "title": "DateTime", "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" ] - }, - "quoteId": { - "title": "CorrelationId", + } + }, + "required": [ + "quoteId", + "transactionId", + "payee", + "payer", + "amountType", + "amount", + "transactionType" + ] + }, + "simpleQuotesPostRequest": { + "title": "simpleQuotesPostRequest", + "type": "object", + "properties": { + "fspId": { + "title": "FspId", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." }, - "quoteResponse": { - "title": "QuotesIDPutResponse", + "quotesPostRequest": { + "title": "QuotesPostRequest", "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", + "description": "The object sent in the POST /quotes request.", "properties": { - "transferAmount": { + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "transactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "transactionRequestId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "payee": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "payer": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", + "type": "object", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "properties": { + "partyIdType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } + } + }, + "required": [ + "partyIdInfo" + ] + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "amount": { "title": "Money", "type": "object", "description": "Data model for the complex type Money.", @@ -18113,7 +13559,7 @@ "amount" ] }, - "payeeReceiveAmount": { + "fees": { "title": "Money", "type": "object", "description": "Data model for the complex type Money.", @@ -18291,2237 +13737,5540 @@ "ZWD" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspFee": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "transactionType": { + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" + } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "quoteId", + "transactionId", + "payee", + "payer", + "amountType", + "amount", + "transactionType" + ] + } + }, + "required": [ + "fspId", + "quotesPostRequest" + ] + }, + "quotesPostResponse": { + "title": "QuotesPostResponse", + "type": "object", + "properties": { + "quotes": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "body": { + "type": "object", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "expiration": { "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "description": "Date and time until when the quotation is valid and can be honored when used in the subsequent transaction.", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" ] }, - "amount": { - "title": "Amount", + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ - "currency", - "amount" + "transferAmount", + "expiration", + "ilpPacket", + "condition" ] }, - "expiration": { - "title": "DateTime", + "headers": { + "type": "object" + } + }, + "required": [ + "body", + "headers" + ] + }, + "currentState": { + "type": "string", + "enum": [ + "WAITING_FOR_ACTION", + "COMPLETED", + "ERROR_OCCURRED" + ] + } + }, + "required": [ + "quotes", + "currentState" + ] + }, + "errorQuotesResponse": { + "allOf": [ + { + "type": "object", + "properties": { + "statusCode": { "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "description": "Error code as string." }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] + "message": { + "type": "string", + "description": "Error message text." + } + } + }, + { + "type": "object" + } + ] + }, + "requestToPayRequest": { + "type": "object", + "required": [ + "homeTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "scenario", + "initiator", + "initiatorType" + ], + "properties": { + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "from": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" }, - "ilpPacket": { - "title": "IlpPacket", + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" }, - "condition": { - "title": "IlpCondition", + "idSubValue": { + "title": "PartySubIdOrType", "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." }, "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "required": [ - "extension" - ] + "minItems": 0, + "maxItems": 16 } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "quoteResponseSource": { - "type": "string", - "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" + } }, - "fulfil": { - "title": "TransfersIDPutResponse", + "to": { "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", + "required": [ + "idType", + "idValue" + ], "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", + "type": { + "title": "TransactionInitiatorType", "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" }, - "transferState": { - "title": "TransferState", + "idType": { + "title": "PartyIdType", "type": "string", "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "lastError": { - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "type": "object", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 } } - } - } - }, - "transferContinuationAcceptOTP": { - "type": "object", - "required": [ - "acceptOTP" - ], - "properties": { - "acceptOTP": { - "type": "boolean", + }, + "amountType": { + "title": "AmountType", + "type": "string", "enum": [ - true, - false + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] - } - } - }, - "accountsRequest": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue", - "currency" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "scenario": { + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" + } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + } + } + }, + "AuthenticationType": { + "title": "AuthenticationType", + "type": "string", + "enum": [ + "OTP", + "QRCODE", + "U2F" + ], + "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.", + "example": "OTP" + }, + "TransactionRequestState": { + "title": "TransactionRequestState", + "type": "string", + "enum": [ + "RECEIVED", + "PENDING", + "ACCEPTED", + "REJECTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.", + "example": "RECEIVED" + }, + "requestToPayResponse": { + "type": "object", + "required": [ + "transactionRequestId", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType", + "requestToPayState" + ], + "properties": { + "transactionRequestId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "from": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } } - } - } - }, - "accountCreationStatus": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "error": { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." + }, + "to": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "scenario": { + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } }, - "message": { - "type": "string", - "description": "Error message text." - } + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" } - } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "authenticationType": { + "title": "AuthenticationType", + "type": "string", + "enum": [ + "OTP", + "QRCODE", + "U2F" + ], + "description": "Below are the allowed values for the enumeration AuthenticationType.\n- OTP - One-time password generated by the Payer FSP.\n- QRCODE - QR code used as One Time Password.\n- U2F - U2F is a new addition isolated to Thirdparty stream.", + "example": "OTP" + }, + "requestToPayState": { + "title": "TransactionRequestState", + "type": "string", + "enum": [ + "RECEIVED", + "PENDING", + "ACCEPTED", + "REJECTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Payer FSP has received the transaction from the Payee FSP.\n- PENDING - Payer FSP has sent the transaction request to the Payer.\n- ACCEPTED - Payer has approved the transaction.\n- REJECTED - Payer has rejected the transaction.", + "example": "RECEIVED" } } }, - "accountsCreationState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "accountsResponse": { + "requestToPayTransferRequest": { "type": "object", "required": [ - "accounts" - ], - "properties": { - "modelId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "accounts": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue", - "currency" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "requestToPayTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "scenario", + "initiator", + "initiatorType" + ], + "properties": { + "requestToPayTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "from": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "to": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" ] - } + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "scenario": { + "title": "TransactionType", + "type": "object", + "description": "Data model for the complex type TransactionType.", + "properties": { + "scenario": { + "title": "TransactionScenario", + "type": "string", + "enum": [ + "DEPOSIT", + "WITHDRAWAL", + "TRANSFER", + "PAYMENT", + "REFUND" + ], + "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", + "example": "DEPOSIT" + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "refundInfo": { + "title": "Refund", + "type": "object", + "description": "Data model for the complex type Refund.", + "properties": { + "originalTransactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "refundReason": { + "title": "RefundReason", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Reason for the refund.", + "example": "Free text indicating reason for the refund." + } + }, + "required": [ + "originalTransactionId" + ] + }, + "balanceOfPayments": { + "title": "BalanceOfPayments", + "type": "string", + "pattern": "^[1-9]\\d{2}$", + "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", + "example": "123" + } + }, + "required": [ + "scenario", + "initiator", + "initiatorType" + ] + }, + "initiator": { + "title": "TransactionInitiator", + "type": "string", + "enum": [ + "PAYER", + "PAYEE" + ], + "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", + "example": "PAYEE" + }, + "initiatorType": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + } + } + }, + "transferStatus": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "QuotesIDPutResponse": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } - } + }, + "required": [ + "currency", + "amount" + ] }, - "response": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "error": { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - } + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } - } - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "COMPLETED" + }, + "required": [ + "currency", + "amount" ] }, - "lastError": { + "payeeFspFee": { + "title": "Money", "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "description": "Data model for the complex type Money.", "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } - } + }, + "required": [ + "currency", + "amount" + ] }, - "postAccountsResponse": { + "payeeFspCommission": { + "title": "Money", "type": "object", - "required": [ - "body" - ], + "description": "Data model for the complex type Money.", "properties": { - "body": { - "type": "object" + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "headers": { - "type": "object" + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } - } - } - } - }, - "errorAccountsResponse": { - "allOf": [ - { + }, + "required": [ + "currency", + "amount" + ] + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", "properties": { - "statusCode": { + "latitude": { + "title": "Latitude", "type": "string", - "description": "Error code as string." + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" }, - "message": { + "longitude": { + "title": "Longitude", "type": "string", - "description": "Error message text." + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" } - } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" }, - { + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", "type": "object", - "required": [ - "executionState" - ], + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "executionState": { - "type": "object", - "required": [ - "accounts" - ], - "properties": { - "modelId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "accounts": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue", - "currency" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - } - } + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" + ] + }, + "TransfersIDPutResponse": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" + ] + }, + "requestToPayTransferResponse": { + "type": "object", + "required": [ + "requestToPayTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "requestToPayTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "from": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "to": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." } }, - "response": { - "type": "array", - "items": { - "type": "object", - "required": [ - "idType", - "idValue" - ], - "properties": { - "idType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "idValue": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "idSubValue": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "error": { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - } - } - } + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "quoteResponse": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "currentState": { + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", + "minLength": 3, + "maxLength": 3, "enum": [ - "ERROR_OCCURRED", - "COMPLETED" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "postAccountsResponse": { - "type": "object", - "required": [ - "body" - ], - "properties": { - "body": { - "type": "object" - }, - "headers": { - "type": "object" - } - } + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } - } - } - } - } - ] - }, - "async2SyncCurrentState": { - "type": "string", - "enum": [ - "WAITING_FOR_ACTION", - "COMPLETED", - "ERROR_OCCURRED" - ] - }, - "partiesByIdResponse": { - "title": "partiesByIdResponse", - "type": "object", - "description": "GET /parties/{Type}/{ID} response object", - "properties": { - "party": { - "properties": { - "body": { - "description": "Data model for the complex type Party.", - "title": "Party", + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", "type": "object", + "description": "Data model for the complex type Money.", "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", + "amount": { + "title": "Amount", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } }, "required": [ - "partyIdInfo" + "currency", + "amount" ] }, - "headers": { - "type": "object" - } - }, - "required": [ - "body", - "headers" - ] - }, - "currentState": { - "type": "string", - "enum": [ - "WAITING_FOR_ACTION", - "COMPLETED", - "ERROR_OCCURRED" - ] - } - }, - "required": [ - "party", - "currentState" - ] - }, - "QuotesPostRequest": { - "title": "QuotesPostRequest", - "type": "object", - "description": "The object sent in the POST /quotes request.", - "properties": { - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "transactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "transactionRequestId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "payee": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", - "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", - "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" }, - "fspId": { - "title": "FspId", + "longitude": { + "title": "Longitude", "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "required": [ - "extension" - ] + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "partyIdType", - "partyIdentifier" + "extension" ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" + ] + }, + "quoteResponseSource": { + "type": "string", + "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" + }, + "fulfil": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", + "completedTimestamp": { + "title": "DateTime", "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" }, - "name": { - "title": "PartyName", + "transferState": { + "title": "TransferState", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" }, - "personalInfo": { - "title": "PartyPersonalInfo", + "extensionList": { + "title": "ExtensionList", "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } + }, + "required": [ + "extension" + ] } }, "required": [ - "partyIdInfo" + "transferState" ] }, - "payer": { - "title": "Party", + "lastError": { "type": "object", - "description": "Data model for the complex type Party.", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." + }, + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { - "partyIdType": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", + "errorInformation": { + "title": "ErrorInformation", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "description": "Data model for the complex type ErrorInformation.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + "required": [ + "extension" + ] } }, "required": [ - "extension" + "errorCode", + "errorDescription" ] } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] + } + } + } + } + } + }, + "transferResponse": { + "type": "object", + "required": [ + "homeTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "from": { + "type": "object", + "required": [ + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" }, "merchantClassificationCode": { "title": "MerchantClassificationCode", @@ -20529,568 +19278,383 @@ "pattern": "^[\\d]{1,4}$", "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." }, - "name": { - "title": "PartyName", + "fspId": { + "title": "FspId", "type": "string", "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "amount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + "maxLength": 32, + "description": "FSP identifier." }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 } - }, - "required": [ - "currency", - "amount" - ] + } }, - "fees": { - "title": "Money", + "to": { "type": "object", - "description": "Data model for the complex type Money.", + "required": [ + "idType", + "idValue" + ], "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": { + "title": "TransactionInitiatorType", "type": "string", - "minLength": 3, - "maxLength": 3, "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." }, - "amount": { - "title": "Amount", + "firstName": { + "title": "FirstName", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 } - }, - "required": [ - "currency", - "amount" + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, "transactionType": { - "title": "TransactionType", - "type": "object", - "description": "Data model for the complex type TransactionType.", - "properties": { - "scenario": { - "title": "TransactionScenario", - "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" - }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" - }, - "initiator": { - "title": "TransactionInitiator", - "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" - }, - "initiatorType": { - "title": "TransactionInitiatorType", - "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" - }, - "refundInfo": { - "title": "Refund", - "type": "object", - "description": "Data model for the complex type Refund.", - "properties": { - "originalTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "refundReason": { - "title": "RefundReason", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." - } - }, - "required": [ - "originalTransactionId" - ] - }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" - } - }, - "required": [ - "scenario", - "initiator", - "initiatorType" - ] + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" }, "note": { "title": "Note", @@ -21100,2158 +19664,3573 @@ "description": "Memo assigned to transaction.", "example": "Note sent to Payee." }, - "expiration": { - "title": "DateTime", + "currentState": { "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" ] - } - }, - "required": [ - "quoteId", - "transactionId", - "payee", - "payer", - "amountType", - "amount", - "transactionType" - ] - }, - "simpleQuotesPostRequest": { - "title": "simpleQuotesPostRequest", - "type": "object", - "properties": { - "fspId": { - "title": "FspId", + }, + "quoteId": { + "title": "CorrelationId", "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "quotesPostRequest": { - "title": "QuotesPostRequest", + "getPartiesResponse": { "type": "object", - "description": "The object sent in the POST /quotes request.", + "required": [ + "body" + ], "properties": { - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "transactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "transactionRequestId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "body": { + "type": "object" }, - "payee": { - "title": "Party", + "headers": { + "type": "object" + } + } + }, + "quoteResponse": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "title": "QuotesIDPutResponse", "type": "object", - "description": "Data model for the complex type Party.", + "description": "The object sent in the PUT /quotes/{ID} callback.", "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", + "transferAmount": { + "title": "Money", "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "description": "Data model for the complex type Money.", "properties": { - "partyIdType": { - "title": "PartyIdType", + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", + "minLength": 3, + "maxLength": 3, "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } }, "required": [ - "partyIdType", - "partyIdentifier" + "currency", + "amount" ] }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "payer": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "partyIdInfo": { - "title": "PartyIdInfo", + "payeeReceiveAmount": { + "title": "Money", "type": "object", - "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", + "description": "Data model for the complex type Money.", "properties": { - "partyIdType": { - "title": "PartyIdType", + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", + "minLength": 3, + "maxLength": 3, "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "fspId": { - "title": "FspId", + "amount": { + "title": "Amount", "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" } }, "required": [ - "partyIdType", - "partyIdentifier" + "currency", + "amount" ] }, - "merchantClassificationCode": { - "title": "MerchantClassificationCode", - "type": "string", - "pattern": "^[\\d]{1,4}$", - "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", + "payeeFspFee": { + "title": "Money", "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", + "description": "Data model for the complex type Money.", "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", + "amount": { + "title": "Amount", "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "amount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "fees": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "transactionType": { - "title": "TransactionType", - "type": "object", - "description": "Data model for the complex type TransactionType.", - "properties": { - "scenario": { - "title": "TransactionScenario", + "expiration": { + "title": "DateTime", "type": "string", - "enum": [ - "DEPOSIT", - "WITHDRAWAL", - "TRANSFER", - "PAYMENT", - "REFUND" - ], - "description": "Below are the allowed values for the enumeration.\n- DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.\n- WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.\n- TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.\n- PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.\n- REFUND - Used for performing a refund of transaction.", - "example": "DEPOSIT" + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" }, - "subScenario": { - "title": "TransactionSubScenario", - "type": "string", - "pattern": "^[A-Z_]{1,32}$", - "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", - "example": "LOCALLY_DEFINED_SUBSCENARIO" + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] }, - "initiator": { - "title": "TransactionInitiator", + "ilpPacket": { + "title": "IlpPacket", "type": "string", - "enum": [ - "PAYER", - "PAYEE" - ], - "description": "Below are the allowed values for the enumeration.\n- PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.\n- PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.", - "example": "PAYEE" + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" }, - "initiatorType": { - "title": "TransactionInitiatorType", + "condition": { + "title": "IlpCondition", "type": "string", - "enum": [ - "CONSUMER", - "AGENT", - "BUSINESS", - "DEVICE" - ], - "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", - "example": "CONSUMER" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." }, - "refundInfo": { - "title": "Refund", + "extensionList": { + "title": "ExtensionList", "type": "object", - "description": "Data model for the complex type Refund.", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "originalTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "refundReason": { - "title": "RefundReason", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Reason for the refund.", - "example": "Free text indicating reason for the refund." + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "originalTransactionId" + "extension" ] - }, - "balanceOfPayments": { - "title": "BalanceOfPayments", - "type": "string", - "pattern": "^[1-9]\\d{2}$", - "description": "(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.", - "example": "123" } }, "required": [ - "scenario", - "initiator", - "initiatorType" + "transferAmount", + "expiration", + "ilpPacket", + "condition" ] }, - "geoCode": { - "title": "GeoCode", + "headers": { + "type": "object" + } + } + }, + "quoteResponseSource": { + "type": "string", + "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" + }, + "fulfil": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "title": "TransfersIDPutResponse", "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "description": "The object sent in the PUT /transfers/{ID} callback.", "properties": { - "latitude": { - "title": "Latitude", + "fulfilment": { + "title": "IlpFulfilment", "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "longitude": { - "title": "Longitude", + "completedTimestamp": { + "title": "DateTime", "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ - "latitude", - "longitude" + "transferState" ] }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "headers": { + "type": "object" + } + } + }, + "lastError": { + "type": "object", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", + "properties": { + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, - "extensionList": { - "title": "ExtensionList", + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "required": [ - "key", - "value" - ] + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + "required": [ + "errorCode", + "errorDescription" + ] } - }, - "required": [ - "extension" - ] + } } - }, - "required": [ - "quoteId", - "transactionId", - "payee", - "payer", - "amountType", - "amount", - "transactionType" - ] + } + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", + "type": "boolean" } - }, - "required": [ - "fspId", - "quotesPostRequest" - ] + } }, - "quotesPostResponse": { - "title": "QuotesPostResponse", - "type": "object", - "properties": { - "quotes": { - "title": "QuotesIDPutResponse", + "errorTransferResponse": { + "allOf": [ + { "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", "properties": { - "body": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } + }, + { + "type": "object", + "required": [ + "transferState" + ], + "properties": { + "transferState": { "type": "object", + "required": [ + "homeTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType" + ], "properties": { - "transferAmount": { - "title": "Money", + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "from": { "type": "object", - "description": "Data model for the complex type Money.", + "required": [ + "idType", + "idValue" + ], "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": { + "title": "TransactionInitiatorType", "type": "string", - "minLength": 3, - "maxLength": 3, "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" }, - "amount": { - "title": "Amount", + "idType": { + "title": "PartyIdType", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 } - }, + } + }, + "to": { + "type": "object", "required": [ - "currency", - "amount" - ] + "idType", + "idValue" + ], + "properties": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "getPartiesResponse": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "type": "object" + }, + "headers": { + "type": "object" + } + } + }, + "quoteResponse": { + "type": "object", + "required": [ + "body" + ], + "properties": { + "body": { + "title": "QuotesIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /quotes/{ID} callback.", + "properties": { + "transferAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeReceiveAmount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspFee": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "payeeFspCommission": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "geoCode": { + "title": "GeoCode", + "type": "object", + "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "properties": { + "latitude": { + "title": "Latitude", + "type": "string", + "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+45.4215" + }, + "longitude": { + "title": "Longitude", + "type": "string", + "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", + "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", + "example": "+75.6972" + } + }, + "required": [ + "latitude", + "longitude" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferAmount", + "expiration", + "ilpPacket", + "condition" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "headers": { + "type": "object" } - }, - "required": [ - "currency", - "amount" - ] + } }, - "payeeFspFee": { - "title": "Money", + "quoteResponseSource": { + "type": "string", + "description": "FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway.\n" + }, + "fulfil": { "type": "object", - "description": "Data model for the complex type Money.", + "required": [ + "body" + ], "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "body": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "headers": { + "type": "object" } - }, - "required": [ - "currency", - "amount" - ] + } }, - "payeeFspCommission": { - "title": "Money", + "lastError": { "type": "object", - "description": "Data model for the complex type Money.", + "description": "This object represents a Mojaloop API error received at any time during the transfer process", "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + "httpStatusCode": { + "type": "integer", + "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + } + } } + } + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", + "type": "boolean" + } + } + } + } + } + ] + }, + "transferContinuationAcceptOTP": { + "type": "object", + "required": [ + "acceptOTP" + ], + "properties": { + "acceptOTP": { + "type": "boolean", + "enum": [ + true, + false + ] + } + } + }, + "TransfersPostRequest": { + "title": "TransfersPostRequest", + "type": "object", + "description": "The object sent in the POST /transfers request.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "payeeFsp": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "payerFsp": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "amount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "currency", - "amount" - ] + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "expiration": { + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferId", + "payeeFsp", + "payerFsp", + "amount", + "ilpPacket", + "condition", + "expiration" + ] + }, + "simpleTransfersPostRequest": { + "title": "SimpleTransfersPostRequest", + "type": "object", + "properties": { + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "transfersPostRequest": { + "title": "TransfersPostRequest", + "type": "object", + "description": "The object sent in the POST /transfers request.", + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "payeeFsp": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "payerFsp": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "amount": { + "title": "Money", + "type": "object", + "description": "Data model for the complex type Money.", + "properties": { + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", "type": "string", - "description": "Date and time until when the quotation is valid and can be honored when used in the subsequent transaction.", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "geoCode": { - "title": "GeoCode", - "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", + "amount": { + "title": "Amount", "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + }, + "required": [ + "currency", + "amount" + ] + }, + "ilpPacket": { + "title": "IlpPacket", + "type": "string", + "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", + "minLength": 1, + "maxLength": 32768, + "description": "Information for recipient (transport layer information).", + "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + }, + "condition": { + "title": "IlpCondition", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Condition that must be attached to the transfer by the Payer." + }, + "expiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "required": [ - "extension" - ] + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" + "extension" ] - }, - "headers": { - "type": "object" } }, "required": [ - "body", - "headers" - ] - }, - "currentState": { - "type": "string", - "enum": [ - "WAITING_FOR_ACTION", - "COMPLETED", - "ERROR_OCCURRED" + "transferId", + "payeeFsp", + "payerFsp", + "amount", + "ilpPacket", + "condition", + "expiration" ] } }, - "required": [ - "quotes", - "currentState" - ] - }, - "errorQuotesResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } - } - }, - { - "type": "object" - } + "required": [ + "fspId", + "transfersPostRequest" ] }, - "TransfersPostRequest": { - "title": "TransfersPostRequest", + "simpleTransfersPostResponse": { + "title": "SimpleTransfersPostResponse", "type": "object", - "description": "The object sent in the POST /transfers request.", "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "payeeFsp": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "payerFsp": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "amount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", + "transfer": { "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" + "body": { + "title": "TransfersIDPutResponse", + "type": "object", + "description": "The object sent in the PUT /transfers/{ID} callback.", + "properties": { + "fulfilment": { + "title": "IlpFulfilment", + "type": "string", + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" + }, + "completedTimestamp": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "extensionList": { + "title": "ExtensionList", + "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "properties": { + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "transferState" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "headers": { + "type": "object" } }, "required": [ - "currency", - "amount" + "body", + "headers" ] }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", + "currentState": { "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." + "enum": [ + "WAITING_FOR_ACTION", + "COMPLETED", + "ERROR_OCCURRED" + ] + } + }, + "required": [ + "transfer", + "currentState" + ] + }, + "errorSimpleTransfersResponse": { + "allOf": [ + { + "type": "object", + "properties": { + "statusCode": { + "type": "string", + "description": "Error code as string." + }, + "message": { + "type": "string", + "description": "Error message text." + } + } }, - "expiration": { - "title": "DateTime", + { + "type": "object" + } + ] + }, + "transferRequest": { + "type": "object", + "required": [ + "homeTransactionId", + "from", + "to", + "amountType", + "currency", + "amount", + "transactionType" + ], + "properties": { + "homeTransactionId": { "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." }, - "extensionList": { - "title": "ExtensionList", + "from": { "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "required": [ + "idType", + "idValue" + ], "properties": { - "extension": { + "type": { + "title": "TransactionInitiatorType", + "type": "string", + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" + }, + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "idSubValue": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { "type": "array", "items": { "title": "Extension", @@ -23259,359 +23238,472 @@ "description": "Data model for the complex type Extension.", "properties": { "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferId", - "payeeFsp", - "payerFsp", - "amount", - "ilpPacket", - "condition", - "expiration" - ] - }, - "simpleTransfersPostRequest": { - "title": "SimpleTransfersPostRequest", - "type": "object", - "properties": { - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } }, - "transfersPostRequest": { - "title": "TransfersPostRequest", + "to": { "type": "object", - "description": "The object sent in the POST /transfers request.", + "required": [ + "idType", + "idValue" + ], "properties": { - "transferId": { - "title": "CorrelationId", + "type": { + "title": "TransactionInitiatorType", "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + "enum": [ + "CONSUMER", + "AGENT", + "BUSINESS", + "DEVICE" + ], + "description": "Below are the allowed values for the enumeration.\n- CONSUMER - Consumer is the initiator of the transaction.\n- AGENT - Agent is the initiator of the transaction.\n- BUSINESS - Business is the initiator of the transaction.\n- DEVICE - Device is the initiator of the transaction.", + "example": "CONSUMER" }, - "payeeFsp": { - "title": "FspId", + "idType": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.\n- EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).\n- PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.\n- BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.\n- DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.\n- ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.\n- IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.\n- ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier." + }, + "idValue": { + "title": "PartyIdentifier", "type": "string", "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" }, - "payerFsp": { - "title": "FspId", + "idSubValue": { + "title": "PartySubIdOrType", "type": "string", "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." }, - "amount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] + "displayName": { + "title": "Name", + "type": "string", + "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$", + "description": "The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.\n\nRegular Expression - The regular expression for restricting the Name type is \"^(?!\\s*$)[\\w .,'-]{1,128}$\". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).\n\n**Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters." + }, + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + }, + "merchantClassificationCode": { + "title": "MerchantClassificationCode", + "type": "string", + "pattern": "^[\\d]{1,4}$", + "description": "A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "extensionList": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + } + } + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "transactionType": { + "title": "transferTransactionType", + "type": "string", + "enum": [ + "TRANSFER" + ], + "description": "Type of transaction." + }, + "subScenario": { + "title": "TransactionSubScenario", + "type": "string", + "pattern": "^[A-Z_]{1,32}$", + "description": "Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).", + "example": "LOCALLY_DEFINED_SUBSCENARIO" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "quoteRequestExtensions": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "currency", - "amount" - ] - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "extensionList": { - "title": "ExtensionList", - "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", - "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "required": [ + "key", + "value" + ] + }, + "minItems": 0, + "maxItems": 16 + }, + "transferRequestExtensions": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "extension" - ] - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "required": [ - "transferId", - "payeeFsp", - "payerFsp", - "amount", - "ilpPacket", - "condition", - "expiration" - ] + "minItems": 0, + "maxItems": 16 + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed.", + "type": "boolean" } - }, - "required": [ - "fspId", - "transfersPostRequest" - ] + } }, - "simpleTransfersPostResponse": { - "title": "SimpleTransfersPostResponse", + "transferStatusResponse": { "type": "object", + "required": [ + "transferId", + "currentState", + "fulfil" + ], "properties": { - "transfer": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "currentState": { + "type": "string", + "enum": [ + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" + ] + }, + "fulfil": { + "type": "object", + "required": [ + "body" + ], "properties": { "body": { "title": "TransfersIDPutResponse", @@ -23694,44 +23786,8 @@ "headers": { "type": "object" } - }, - "required": [ - "body", - "headers" - ] - }, - "currentState": { - "type": "string", - "enum": [ - "WAITING_FOR_ACTION", - "COMPLETED", - "ERROR_OCCURRED" - ] - } - }, - "required": [ - "transfer", - "currentState" - ] - }, - "errorSimpleTransfersResponse": { - "allOf": [ - { - "type": "object", - "properties": { - "statusCode": { - "type": "string", - "description": "Error code as string." - }, - "message": { - "type": "string", - "description": "Error message text." - } } - }, - { - "type": "object" } - ] + } } } \ No newline at end of file diff --git a/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts b/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts index 39ee5166..0f5316a3 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts @@ -13,10807 +13,81 @@ export interface paths { }; }; }; - "/transfers": { + "/accounts": { /** - * The HTTP request `POST /transfers` is used to request the movement of funds from payer DFSP to payee DFSP. - * The underlying Mojaloop API has three stages for money transfer: - * - * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - * 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - * 3. Transfer. The enactment of the previously agreed "contract" - * - * This method has several modes of operation. - * - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to `"false"` this method will terminate when the payee party has been resolved and return the payee party details. - * If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. - * The scheme adapter will then proceed with quotation stage... - * - * - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` this method will terminate and return the quotation when it has been received from the payee DFSP. - * If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - * The scheme adapter will then proceed with the transfer state. - * - * If the configuration variables `AUTO_ACCEPT_PARTIES` and `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until all three transfer stages are complete. Upon completion it will return the entire set of transfer details received during the operation. + * The HTTP request `POST /accounts` is used to create account information on the Account Lookup Service (ALS) regarding the provided list of identities. * - * Combinations of settings for `AUTO_ACCEPT...` configuration variables allow the scheme adapter user to decide which mode of operation best suits their use cases. i.e. the scheme adapter can be configured to "break" the three stage transfer at these points in order to execute backend logic such as party verification, quoted fees assessments etc... + * Caller DFSP is used as the account source FSP information */ post: { responses: { - /** Transfer completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** An error occurred processing the transfer */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** Timeout occurred processing the transfer */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; + 200: components["responses"]["accountsCreationCompleted"]; + 400: components["responses"]["accountsCreationError"]; + 500: components["responses"]["accountsCreationError"]; + 504: components["responses"]["accountsCreationTimeout"]; }; - /** Transfer request body */ + /** Identities list request body */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - quoteRequestExtensions?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - transferRequestExtensions?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; + "application/json": components["schemas"]["accountsRequest"]; }; }; }; }; - "/transfers/{transferId}": { - /** The HTTP request `GET /transfers/{transferId}` is used to get information regarding a transfer created or requested earlier. The `{transferId}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ - get: { - parameters: { - path: { - /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: string; - }; - }; + "/bulkQuotes": { + /** The HTTP request `POST /bulkQuotes` is used to request a bulk quote to fascilitate funds transfer from payer DFSP to payees' DFSP. */ + post: { responses: { - /** Transfer information successfully retrieved */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** @enum {string} */ - currentState: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - fulfil: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - /** An error occurred processing the transfer */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }; + 200: components["responses"]["bulkQuoteSuccess"]; + 400: components["responses"]["bulkQuoteBadRequest"]; + 500: components["responses"]["bulkQuoteServerError"]; + 504: components["responses"]["bulkQuoteTimeout"]; + }; + /** Bulk quote request body */ + requestBody: { + content: { + "application/json": components["schemas"]["bulkQuoteRequest"]; }; }; }; - /** - * The HTTP request `PUT /transfers/{transferId}` is used to continue a transfer initiated via the `POST /transfers` method that has halted after party lookup and/or quotation stage. - * - * The request body should contain either the "acceptParty" or "acceptQuote" property set to `true` as required to continue the transfer. - * - * See the description of the `POST /transfers` HTTP method for more information on modes of transfer. - */ - put: { + }; + "/bulkQuotes/{bulkQuoteId}": { + /** The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get information regarding a bulk quote created or requested earlier. The `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ + get: { parameters: { path: { - /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: string; + /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ + bulkQuoteId: components["parameters"]["bulkQuoteId"]; }; }; responses: { - /** Transfer completed successfully */ + /** Bulk quote information successfully retrieved */ 200: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; + "application/json": components["schemas"]["bulkQuoteStatusResponse"]; }; }; - /** An error occurred processing the transfer */ + /** An error occurred processing the bulk quote */ 500: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** Timeout occurred processing the transfer */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; + "application/json": components["schemas"]["errorResponse"]; }; }; }; - requestBody: { - content: { - "application/json": - | { - /** @enum {boolean} */ - acceptParty: true | false; - } - | { - /** @enum {boolean} */ - acceptQuote: true | false; - }; - }; - }; }; }; "/bulkTransactions": { /** The HTTP request `POST /bulkTransactions` is used to request the movement of funds from payer DFSP to payees' DFSP. */ post: { responses: { - /** Bulk transfer accepted successfully */ - 202: unknown; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - /** Internal Server Error */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }; - }; + 202: components["responses"]["bulkTransactionAccepted"]; + 400: components["responses"]["bulkTransferBadRequest"]; + 500: components["responses"]["errorResponse"]; }; /** Bulk transfer request body */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - bulkHomeTransactionID: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransactionId: string; - options: { - /** @description Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution. */ - onlyValidateParty?: boolean; - autoAcceptParty: { - /** @enum {boolean} */ - enabled: false | true; - }; - /** @description Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array. */ - autoAcceptQuote: { - /** @enum {boolean} */ - enabled: true | false; - perTransferFeeLimits?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }[]; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - /** @description Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done */ - synchronous?: boolean; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - bulkExpiration: string; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - from: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * Party - * @description Data model for the complex type Party. - */ - to: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description Payer Loan reference */ - reference?: string; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - quoteExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - transferExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["bulkTransactionRequest"]; }; }; }; @@ -10824,155 +98,17 @@ export interface paths { parameters: { path: { /** Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ - bulkTransactionId: string; + bulkTransactionId: components["parameters"]["bulkTransactionId"]; }; }; responses: { /** Bulk transaction information successfully amended */ 202: unknown; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": - | ({ - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptParty: true | false; - })[]; - } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }) - | ({ - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & ({ - bulkTransferState?: { - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptQuote: true | false; - })[]; - } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - } & { - bulkTansferState: unknown; - })); - }; - }; + 400: components["responses"]["bulkTransactionPutBadRequest"]; /** An error occurred processing the bulk transaction */ 500: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; + "application/json": components["schemas"]["errorResponse"]; }; }; }; @@ -10980,34 +116,8 @@ export interface paths { requestBody: { content: { "application/json": - | { - /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptParty: true | false; - })[]; - } - | { - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptQuote: true | false; - })[]; - }; + | components["schemas"]["bulkTransactionContinuationAcceptParty"] + | components["schemas"]["bulkTransactionContinuationAcceptQuote"]; }; }; }; @@ -11016,783 +126,14 @@ export interface paths { /** The HTTP request `POST /bulkTransfers` is used to request the movement of funds from payer DFSP to payees' DFSP. */ post: { responses: { - /** Bulk transfer completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - /** Internal Server Error */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }; - }; + 200: components["responses"]["bulkTransferSuccess"]; + 400: components["responses"]["bulkTransferBadRequest"]; + 500: components["responses"]["errorResponse"]; }; /** Bulk transfer request body */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType?: "TRANSFER"; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["bulkTransferRequest"]; }; }; }; @@ -11803,4403 +144,55 @@ export interface paths { parameters: { path: { /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkTransferId: string; + bulkTransferId: components["parameters"]["bulkTransferId"]; }; }; responses: { /** Bulk transfer information successfully retrieved */ 200: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - fulfils: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - }; + "application/json": components["schemas"]["bulkTransferStatusResponse"]; }; }; /** An error occurred processing the bulk transfer */ 500: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; + "application/json": components["schemas"]["errorResponse"]; }; }; }; }; }; - "/bulkQuotes": { - /** The HTTP request `POST /bulkQuotes` is used to request a bulk quote to fascilitate funds transfer from payer DFSP to payees' DFSP. */ - post: { - responses: { - /** Bulk quote completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - /** An error occurred processing the bulk quote */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - /** Timeout occurred processing the bulk quote */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - }; - /** Bulk quote request body */ - requestBody: { - content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description List of individual quotes in a bulk quote. */ - individualQuotes: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "/parties/{Type}/{ID}": { + /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ + get: operations["PartiesByTypeAndID"]; + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; }; }; }; - "/bulkQuotes/{bulkQuoteId}": { - /** The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get information regarding a bulk quote created or requested earlier. The `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ - get: { - parameters: { - path: { - /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkQuoteId: string; - }; - }; - responses: { - /** Bulk quote information successfully retrieved */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - individualQuotes: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - }; - }; - /** An error occurred processing the bulk quote */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }; - }; + "/parties/{Type}/{ID}/{SubId}": { + /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ + get: operations["PartiesSubIdByTypeAndID"]; + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ + SubId: components["parameters"]["SubId"]; }; }; }; + "/quotes": { + /** is used to request quotes from other DFSP */ + post: operations["QuotesPost"]; + }; "/requestToPay": { /** * The HTTP request `POST /requestToPay` is used to support Pull Funds pattern where in a receiver can request for funds from the Sender. @@ -16210,1014 +203,12 @@ export interface paths { */ post: { responses: { - /** Request to Pay completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario?: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator?: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * AuthenticationType - * @description Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - * @example OTP - * @enum {string} - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - requestToPayState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - } & { - transactionType: unknown; - }; - }; - }; + 200: components["responses"]["requestToPaySuccess"]; }; /** RequestToPay request body */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; + "application/json": components["schemas"]["requestToPayRequest"]; }; }; }; @@ -17246,5805 +237,15 @@ export interface paths { */ post: { responses: { - /** Transfer completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - }; - /** Malformed or missing required body, headers or parameters */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** An error occurred processing the transfer */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** Timeout occurred processing the transfer */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; + 200: components["responses"]["requestToPayTransferSuccess"]; + 400: components["responses"]["requestToPayTransferBadRequest"]; + 500: components["responses"]["transferServerError"]; + 504: components["responses"]["transferTimeout"]; }; /** Request To Pay Transfer request body */ requestBody: { content: { - "application/json": { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - }; + "application/json": components["schemas"]["requestToPayTransferRequest"]; }; }; }; @@ -23061,5539 +262,120 @@ export interface paths { parameters: { path: { /** Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ - requestToPayTransactionId: string; + requestToPayTransactionId: components["parameters"]["requestToPayTransactionId"]; }; }; responses: { - /** Transfer completed successfully */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - /** An error occurred processing the transfer */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** Timeout occurred processing the transfer */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; + 200: components["responses"]["transferSuccess"]; + 500: components["responses"]["transferServerError"]; + 504: components["responses"]["transferTimeout"]; }; requestBody: { content: { "application/json": - | { - /** @enum {boolean} */ - acceptQuote: true | false; - } - | { - /** @enum {boolean} */ - acceptOTP: true | false; - }; + | components["schemas"]["transferContinuationAcceptQuote"] + | components["schemas"]["transferContinuationAcceptOTP"]; }; }; }; }; - "/accounts": { + "/simpleTransfers": { + /** is used to request a transfer */ + post: operations["SimpleTransfersPost"]; + }; + "/transfers": { /** - * The HTTP request `POST /accounts` is used to create account information on the Account Lookup Service (ALS) regarding the provided list of identities. + * The HTTP request `POST /transfers` is used to request the movement of funds from payer DFSP to payee DFSP. + * The underlying Mojaloop API has three stages for money transfer: * - * Caller DFSP is used as the account source FSP information + * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. + * 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. + * 3. Transfer. The enactment of the previously agreed "contract" + * + * This method has several modes of operation. + * - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to `"false"` this method will terminate when the payee party has been resolved and return the payee party details. + * If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. + * The scheme adapter will then proceed with quotation stage... + * + * - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` this method will terminate and return the quotation when it has been received from the payee DFSP. + * If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. + * The scheme adapter will then proceed with the transfer state. + * + * If the configuration variables `AUTO_ACCEPT_PARTIES` and `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until all three transfer stages are complete. Upon completion it will return the entire set of transfer details received during the operation. + * + * Combinations of settings for `AUTO_ACCEPT...` configuration variables allow the scheme adapter user to decide which mode of operation best suits their use cases. i.e. the scheme adapter can be configured to "break" the three stage transfer at these points in order to execute backend logic such as party verification, quoted fees assessments etc... */ post: { responses: { - /** Accounts creation completed */ - 200: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - /** An error occurred creating accounts */ - 400: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - }; - /** An error occurred creating accounts */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - }; - /** Timeout occurred creating accounts */ - 504: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - }; + 200: components["responses"]["transferSuccess"]; + 400: components["responses"]["transferBadRequest"]; + 500: components["responses"]["transferServerError"]; + 504: components["responses"]["transferTimeout"]; }; - /** Identities list request body */ + /** Transfer request body */ requestBody: { content: { - "application/json": { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; + "application/json": components["schemas"]["transferRequest"]; }; }; }; }; - "/parties/{Type}/{ID}": { - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - get: operations["PartiesByTypeAndID"]; - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; - /** The identifier value. */ - ID: string; + "/transfers/{transferId}": { + /** The HTTP request `GET /transfers/{transferId}` is used to get information regarding a transfer created or requested earlier. The `{transferId}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ + get: { + parameters: { + path: { + /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ + transferId: components["parameters"]["transferId"]; + }; + }; + responses: { + /** Transfer information successfully retrieved */ + 200: { + content: { + "application/json": components["schemas"]["transferStatusResponse"]; + }; + }; + /** An error occurred processing the transfer */ + 500: { + content: { + "application/json": components["schemas"]["errorResponse"]; + }; + }; }; }; - }; - "/parties/{Type}/{ID}/{SubId}": { - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - get: operations["PartiesSubIdByTypeAndID"]; - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; - /** The identifier value. */ - ID: string; - /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - SubId: string; + /** + * The HTTP request `PUT /transfers/{transferId}` is used to continue a transfer initiated via the `POST /transfers` method that has halted after party lookup and/or quotation stage. + * + * The request body should contain either the "acceptParty" or "acceptQuote" property set to `true` as required to continue the transfer. + * + * See the description of the `POST /transfers` HTTP method for more information on modes of transfer. + */ + put: { + parameters: { + path: { + /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ + transferId: components["parameters"]["transferId"]; + }; + }; + responses: { + 200: components["responses"]["transferSuccess"]; + 500: components["responses"]["transferServerError"]; + 504: components["responses"]["transferTimeout"]; + }; + requestBody: { + content: { + "application/json": + | components["schemas"]["transferContinuationAcceptParty"] + | components["schemas"]["transferContinuationAcceptQuote"]; + }; }; }; }; - "/quotes": { - /** is used to request quotes from other DFSP */ - post: operations["QuotesPost"]; - }; - "/simpleTransfers": { - /** is used to request a transfer */ - post: operations["SimpleTransfersPost"]; - }; } export interface components { schemas: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** * PartyIdType * @description Below are the allowed values for the enumeration. @@ -28627,197 +409,6 @@ export interface components { * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ PartySubIdOrType: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - Name: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - FirstName: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - MiddleName: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - LastName: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - DateOfBirth: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - MerchantClassificationCode: string; - /** - * FspId - * @description FSP identifier. - */ - FspId: string; - /** - * ExtensionKey - * @description Extension key. - */ - ExtensionKey: string; - /** - * ExtensionValue - * @description Extension value. - */ - ExtensionValue: string; - /** - * Extension - * @description Data model for the complex type Extension. - */ - Extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }; - extensionListEmptiable: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - transferParty: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - AmountType: "SEND" | "RECEIVE"; /** * Currency * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. @@ -28988,5038 +579,351 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - Amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transferTransactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - Note: string; - transferRequest: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - quoteRequestExtensions?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - transferRequestExtensions?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; + accountsRequest: { + idType: components["schemas"]["PartyIdType"]; + idValue: components["schemas"]["PartyIdentifier"]; + idSubValue?: components["schemas"]["PartySubIdOrType"]; + currency: components["schemas"]["Currency"]; + }[]; /** * CorrelationId * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). * @example b51ec534-ee48-4575-b6a9-ead2955b8069 */ CorrelationId: string; + errorResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + }; + accountCreationStatus: { + idType: components["schemas"]["PartyIdType"]; + idValue: components["schemas"]["PartyIdentifier"]; + idSubValue?: components["schemas"]["PartySubIdOrType"]; + error?: components["schemas"]["errorResponse"]; + }[]; /** @enum {string} */ - transferStatus: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; + accountsCreationState: "ERROR_OCCURRED" | "COMPLETED"; /** - * Money - * @description Data model for the complex type Money. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - Money: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; + ErrorCode: string; /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 + * ErrorDescription + * @description Error description string. */ - DateTime: string; + ErrorDescription: string; /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 + * ExtensionKey + * @description Extension key. */ - Latitude: string; + ExtensionKey: string; /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 + * ExtensionValue + * @description Extension value. */ - Longitude: string; + ExtensionValue: string; /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * Extension + * @description Data model for the complex type Extension. */ - GeoCode: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; + Extension: { + key: components["schemas"]["ExtensionKey"]; + value: components["schemas"]["ExtensionValue"]; }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - IlpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; /** * ExtensionList * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ ExtensionList: { /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; + extension: components["schemas"]["Extension"][]; }; /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - QuotesIDPutResponse: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; + ErrorInformation: { + errorCode: components["schemas"]["ErrorCode"]; + errorDescription: components["schemas"]["ErrorDescription"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + mojaloopError: { + errorInformation?: components["schemas"]["ErrorInformation"]; + }; + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ + transferError: { + /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ + httpStatusCode?: number; + /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ + mojaloopError?: components["schemas"]["mojaloopError"]; + }; + accountsResponse: { + modelId?: components["schemas"]["CorrelationId"]; + accounts: components["schemas"]["accountsRequest"]; + response?: components["schemas"]["accountCreationStatus"]; + currentState?: components["schemas"]["accountsCreationState"]; + lastError?: components["schemas"]["transferError"]; + postAccountsResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; }; }; + errorAccountsResponse: components["schemas"]["errorResponse"] & { + executionState: components["schemas"]["accountsResponse"]; + }; /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - IlpFulfilment: string; - /** - * TransferState + * TransactionInitiatorType * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + * @example CONSUMER * @enum {string} */ - TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. + * Name + * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. */ - TransfersIDPutResponse: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + Name: string; /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - ErrorCode: string; + FirstName: string; /** - * ErrorDescription - * @description Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - ErrorDescription: string; + MiddleName: string; /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - ErrorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - mojaloopError: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + LastName: string; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + DateOfBirth: string; + /** + * MerchantClassificationCode + * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + */ + MerchantClassificationCode: string; + /** + * FspId + * @description FSP identifier. + */ + FspId: string; + extensionListEmptiable: components["schemas"]["Extension"][]; + transferParty: { + type?: components["schemas"]["TransactionInitiatorType"]; + idType: components["schemas"]["PartyIdType"]; + idValue: components["schemas"]["PartyIdentifier"]; + idSubValue?: components["schemas"]["PartySubIdOrType"]; + displayName?: components["schemas"]["Name"]; + firstName?: components["schemas"]["FirstName"]; + middleName?: components["schemas"]["MiddleName"]; + lastName?: components["schemas"]["LastName"]; + dateOfBirth?: components["schemas"]["DateOfBirth"]; + merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; + fspId?: components["schemas"]["FspId"]; + extensionList?: components["schemas"]["extensionListEmptiable"]; }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - transferError: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + /** + * AmountType + * @description Below are the allowed values for the enumeration AmountType. + * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. + * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. + * @example RECEIVE + * @enum {string} + */ + AmountType: "SEND" | "RECEIVE"; + /** + * Amount + * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * @example 123.45 + */ + Amount: string; + /** + * transferTransactionType + * @description Type of transaction. + * @enum {string} + */ + transferTransactionType: "TRANSFER"; + /** + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO + */ + TransactionSubScenario: string; + /** + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. + */ + Note: string; + /** + * IndividualQuote + * @description Data model for the complex type 'individualQuote'. + */ + individualQuote: { + quoteId: components["schemas"]["CorrelationId"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + transactionType: components["schemas"]["transferTransactionType"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + note?: components["schemas"]["Note"]; + extensions?: components["schemas"]["ExtensionList"]; }; - transferResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; + bulkQuoteRequest: { /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; + bulkQuoteId?: components["schemas"]["CorrelationId"]; + from: components["schemas"]["transferParty"]; + /** @description List of individual quotes in a bulk quote. */ + individualQuotes: components["schemas"]["individualQuote"][]; + extensions?: components["schemas"]["ExtensionList"]; }; - errorResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; + /** + * DateTime + * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * @example 2016-05-24T08:38:08.699-04:00 + */ + DateTime: string; + /** @enum {string} */ + bulkTransferStatus: "ERROR_OCCURRED" | "COMPLETED"; + /** + * Money + * @description Data model for the complex type Money. + */ + Money: { + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; }; - errorTransferResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; + /** + * Latitude + * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * @example +45.4215 + */ + Latitude: string; + /** + * Longitude + * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * @example +75.6972 + */ + Longitude: string; + /** + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + GeoCode: { + latitude: components["schemas"]["Latitude"]; + longitude: components["schemas"]["Longitude"]; }; - transferStatusResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** @enum {string} */ - currentState: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - fulfil: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; + /** + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + */ + IlpPacket: string; + /** + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. + */ + IlpCondition: string; + /** @description This object represents a Mojaloop API error received at any time during the quote process */ + quoteError: { + /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ + httpStatusCode?: number; + /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ + mojaloopError?: components["schemas"]["mojaloopError"]; }; - transferContinuationAcceptParty: { - /** @enum {boolean} */ - acceptParty: true | false; + individualQuoteResult: { + quoteId: components["schemas"]["CorrelationId"]; + transferAmount: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; + geoCode?: components["schemas"]["GeoCode"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + /** @description Object representing the last error to occur during a quote process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ + lastError?: components["schemas"]["quoteError"]; }; - transferContinuationAcceptQuote: { - /** @enum {boolean} */ - acceptQuote: true | false; + bulkQuoteResponse: { + bulkQuoteId: components["schemas"]["CorrelationId"]; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; + expiration: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; + currentState: components["schemas"]["bulkTransferStatus"]; + /** @description List of individualQuoteResults in a bulk transfer response. */ + individualQuoteResults: components["schemas"]["individualQuoteResult"][]; + }; + bulkQuoteErrorResponse: components["schemas"]["errorResponse"] & { + bulkQuoteState: components["schemas"]["bulkQuoteResponse"]; + }; + /** @enum {string} */ + bulkQuoteStatus: "ERROR_OCCURRED" | "COMPLETED"; + bulkQuoteStatusResponse: { + bulkQuoteId: components["schemas"]["CorrelationId"]; + currentState: components["schemas"]["bulkQuoteStatus"]; + individualQuotes: components["schemas"]["individualQuote"][]; }; autoAcceptPartyOption: { /** @enum {boolean} */ enabled: false | true; }; bulkPerTransferFeeLimit: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; }; autoAcceptQuote: { /** @enum {boolean} */ enabled: true | false; - perTransferFeeLimits?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }[]; + perTransferFeeLimits?: components["schemas"]["bulkPerTransferFeeLimit"][]; }; bulkTransactionOptions: { /** @description Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution. */ onlyValidateParty?: boolean; - autoAcceptParty: { - /** @enum {boolean} */ - enabled: false | true; - }; + autoAcceptParty: components["schemas"]["autoAcceptPartyOption"]; /** @description Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array. */ - autoAcceptQuote: { - /** @enum {boolean} */ - enabled: true | false; - perTransferFeeLimits?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }[]; - }; + autoAcceptQuote: components["schemas"]["autoAcceptQuote"]; /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed. */ skipPartyLookup?: boolean; /** @description Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done */ synchronous?: boolean; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - bulkExpiration: string; + bulkExpiration: components["schemas"]["DateTime"]; }; /** * PartyIdInfo * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ PartyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + partyIdType: components["schemas"]["PartyIdType"]; + partyIdentifier: components["schemas"]["PartyIdentifier"]; + partySubIdOrType?: components["schemas"]["PartySubIdOrType"]; + fspId?: components["schemas"]["FspId"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * PartyName @@ -34031,175 +935,27 @@ export interface components { * @description Data model for the complex type PartyComplexName. */ PartyComplexName: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; + firstName?: components["schemas"]["FirstName"]; + middleName?: components["schemas"]["MiddleName"]; + lastName?: components["schemas"]["LastName"]; }; /** * PartyPersonalInfo * @description Data model for the complex type PartyPersonalInfo. */ PartyPersonalInfo: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; + complexName?: components["schemas"]["PartyComplexName"]; + dateOfBirth?: components["schemas"]["DateOfBirth"]; }; /** * Party * @description Data model for the complex type Party. */ Party: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; + partyIdInfo: components["schemas"]["PartyIdInfo"]; + merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; + name?: components["schemas"]["PartyName"]; + personalInfo?: components["schemas"]["PartyPersonalInfo"]; }; /** * BulkTransactionIndividualTransfer @@ -34208,10099 +964,147 @@ export interface components { bulkTransactionIndividualTransfer: { /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; - /** - * Party - * @description Data model for the complex type Party. - */ - to: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + to: components["schemas"]["Party"]; /** @description Payer Loan reference */ reference?: string; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - quoteExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - transferExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + note?: components["schemas"]["Note"]; + quoteExtensions?: components["schemas"]["ExtensionList"]; + transferExtensions?: components["schemas"]["ExtensionList"]; + lastError?: components["schemas"]["transferError"]; }; bulkTransactionRequest: { /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ bulkHomeTransactionID: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransactionId: string; - options: { - /** @description Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution. */ - onlyValidateParty?: boolean; - autoAcceptParty: { - /** @enum {boolean} */ - enabled: false | true; - }; - /** @description Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array. */ - autoAcceptQuote: { - /** @enum {boolean} */ - enabled: true | false; - perTransferFeeLimits?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }[]; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - /** @description Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done */ - synchronous?: boolean; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - bulkExpiration: string; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - from: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + bulkTransactionId: components["schemas"]["CorrelationId"]; + options: components["schemas"]["bulkTransactionOptions"]; + from: components["schemas"]["Party"]; /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * Party - * @description Data model for the complex type Party. - */ - to: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description Payer Loan reference */ - reference?: string; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - quoteExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - transferExtensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + individualTransfers: components["schemas"]["bulkTransactionIndividualTransfer"][]; + extensions?: components["schemas"]["ExtensionList"]; }; - /** @enum {string} */ - bulkTransferStatus: "ERROR_OCCURRED" | "COMPLETED"; + /** + * TransferState + * @description Below are the allowed values for the enumeration. + * - RECEIVED - Next ledger has received the transfer. + * - RESERVED - Next ledger has reserved the transfer. + * - COMMITTED - Next ledger has successfully performed the transfer. + * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. + * @example RESERVED + * @enum {string} + */ + TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + /** + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + */ + IlpFulfilment: string; individualTransferResult: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transferId: components["schemas"]["CorrelationId"]; + /** @description Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. */ + fulfilment?: components["schemas"]["IlpFulfilment"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + lastError?: components["schemas"]["transferError"]; }; bulkTransferResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; + bulkTransferId: components["schemas"]["CorrelationId"]; + bulkQuoteId?: components["schemas"]["CorrelationId"]; /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; + bulkTransferState?: components["schemas"]["TransferState"]; + completedTimestamp?: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; + currentState: components["schemas"]["bulkTransferStatus"]; /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; + individualTransferResults: components["schemas"]["individualTransferResult"][]; }; - bulkTransferErrorResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; + bulkTransferErrorResponse: components["schemas"]["errorResponse"] & { + bulkTransferState: components["schemas"]["bulkTransferResponse"]; }; /** @description Data model for the 'individualTransfer' while accepting party or quote. */ bulkTransactionIndividualTransferAccept: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; + transferId: components["schemas"]["CorrelationId"]; + }; + transferContinuationAcceptParty: { + /** @enum {boolean} */ + acceptParty: true | false; }; /** @description The object sent back as confirmation of payee parties when autoAcceptParty is false. */ bulkTransactionContinuationAcceptParty: { /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptParty: true | false; - })[]; + individualTransfers: (components["schemas"]["bulkTransactionIndividualTransferAccept"] & + components["schemas"]["transferContinuationAcceptParty"])[]; + }; + transferContinuationAcceptQuote: { + /** @enum {boolean} */ + acceptQuote: true | false; }; /** @description The object sent back as confirmation of quotes when autoAcceptQuotes is false. */ bulkTransactionContinuationAcceptQuote: { /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptQuote: true | false; - })[]; + individualTransfers: (components["schemas"]["bulkTransactionIndividualTransferAccept"] & + components["schemas"]["transferContinuationAcceptQuote"])[]; }; /** @description This object represents a Mojaloop API error received at any time during the party discovery process */ partyError: { /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ httpStatusCode?: number; /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - bulkTransactionAcceptPartyErrorResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptParty: true | false; - })[]; - } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + mojaloopError?: components["schemas"]["mojaloopError"]; }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - quoteError: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + bulkTransactionAcceptPartyErrorResponse: components["schemas"]["errorResponse"] & { + bulkTransferState: components["schemas"]["bulkTransactionContinuationAcceptParty"] & + components["schemas"]["partyError"]; }; - bulkTransactionAcceptQuoteErrorResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & ({ - bulkTransferState?: { - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptQuote: true | false; - })[]; + bulkTransactionAcceptQuoteErrorResponse: components["schemas"]["errorResponse"] & + ({ + bulkTransferState?: components["schemas"]["bulkTransactionContinuationAcceptQuote"] & + components["schemas"]["quoteError"]; } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - } & { - bulkTansferState: unknown; - }); + bulkTansferState: unknown; + }); /** * IndividualTransfer * @description Data model for the complex type 'individualTransfer'. */ individualTransfer: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType?: "TRANSFER"; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - bulkTransferRequest: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType?: "TRANSFER"; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer */ - individualTransferFulfilment: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - bulkTransferStatusResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - fulfils: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - /** - * IndividualQuote - * @description Data model for the complex type 'individualQuote'. - */ - individualQuote: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - bulkQuoteRequest: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description List of individual quotes in a bulk quote. */ - individualQuotes: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - individualQuoteResult: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - bulkQuoteResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - bulkQuoteErrorResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - /** @enum {string} */ - bulkQuoteStatus: "ERROR_OCCURRED" | "COMPLETED"; - bulkQuoteStatusResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - individualQuotes: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - TransactionSubScenario: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - RefundReason: string; - /** - * Refund - * @description Data model for the complex type Refund. - */ - Refund: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - BalanceOfPayments: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - TransactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - requestToPayRequest: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * AuthenticationType - * @description Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - * @example OTP - * @enum {string} - */ - AuthenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - requestToPayResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario?: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator?: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * AuthenticationType - * @description Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - * @example OTP - * @enum {string} - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - requestToPayState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - } & { - transactionType: unknown; - }; - requestToPayTransferRequest: { - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - }; - requestToPayTransferResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transferId: components["schemas"]["CorrelationId"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + transactionType?: components["schemas"]["transferTransactionType"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + note?: components["schemas"]["Note"]; + extensions?: components["schemas"]["ExtensionList"]; }; - transferContinuationAcceptOTP: { - /** @enum {boolean} */ - acceptOTP: true | false; + bulkTransferRequest: { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + bulkTransferId: components["schemas"]["CorrelationId"]; + bulkQuoteId: components["schemas"]["CorrelationId"]; + from: components["schemas"]["transferParty"]; + /** @description List of individual transfers in a bulk transfer. */ + individualTransfers: components["schemas"]["individualTransfer"][]; + extensions?: components["schemas"]["ExtensionList"]; }; - accountsRequest: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - accountCreationStatus: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - accountsCreationState: "ERROR_OCCURRED" | "COMPLETED"; - accountsResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; + /** @description A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer */ + individualTransferFulfilment: { + /** @description Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. */ + fulfilment?: components["schemas"]["IlpFulfilment"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; }; - errorAccountsResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; + bulkTransferStatusResponse: { + bulkTransferId: components["schemas"]["CorrelationId"]; + currentState: components["schemas"]["bulkTransferStatus"]; + fulfils: components["schemas"]["individualTransferFulfilment"][]; }; /** @enum {string} */ async2SyncCurrentState: @@ -44313,1626 +1117,94 @@ export interface components { */ partiesByIdResponse: { party: { - /** - * Party - * @description Data model for the complex type Party. - */ - body: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + /** @description Information regarding the requested Party. */ + body: components["schemas"]["Party"]; headers: { [key: string]: unknown }; }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; + currentState: components["schemas"]["async2SyncCurrentState"]; }; /** - * QuotesPostRequest - * @description The object sent in the POST /quotes request. + * TransactionScenario + * @description Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + * @example DEPOSIT + * @enum {string} */ - QuotesPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId?: string; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - fees?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + TransactionScenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * TransactionInitiator + * @description Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + * @example PAYEE + * @enum {string} + */ + TransactionInitiator: "PAYER" | "PAYEE"; + /** + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. + */ + RefundReason: string; + /** + * Refund + * @description Data model for the complex type Refund. + */ + Refund: { + originalTransactionId: components["schemas"]["CorrelationId"]; + refundReason?: components["schemas"]["RefundReason"]; + }; + /** + * BalanceOfPayments + * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + * @example 123 + */ + BalanceOfPayments: string; + /** + * TransactionType + * @description Data model for the complex type TransactionType. + */ + TransactionType: { + scenario: components["schemas"]["TransactionScenario"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + initiator: components["schemas"]["TransactionInitiator"]; + initiatorType: components["schemas"]["TransactionInitiatorType"]; + refundInfo?: components["schemas"]["Refund"]; + balanceOfPayments?: components["schemas"]["BalanceOfPayments"]; + }; + /** + * QuotesPostRequest + * @description The object sent in the POST /quotes request. + */ + QuotesPostRequest: { + quoteId: components["schemas"]["CorrelationId"]; + transactionId: components["schemas"]["CorrelationId"]; + transactionRequestId?: components["schemas"]["CorrelationId"]; + payee: components["schemas"]["Party"]; + payer: components["schemas"]["Party"]; + amountType: components["schemas"]["AmountType"]; + amount: components["schemas"]["Money"]; + fees?: components["schemas"]["Money"]; + transactionType: components["schemas"]["TransactionType"]; + geoCode?: components["schemas"]["GeoCode"]; + note?: components["schemas"]["Note"]; + expiration?: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** simpleQuotesPostRequest */ simpleQuotesPostRequest: { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * QuotesPostRequest - * @description The object sent in the POST /quotes request. - */ - quotesPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId?: string; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - fees?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + /** destination DFSP requested to calculate the quote */ + fspId: components["schemas"]["FspId"]; + quotesPostRequest: components["schemas"]["QuotesPostRequest"]; }; /** QuotesPostResponse */ quotesPostResponse: { @@ -45942,6662 +1214,275 @@ export interface components { */ quotes: { body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; + transferAmount: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; /** * @description Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. * @example 2016-05-24T08:38:08.699-04:00 */ expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + geoCode?: components["schemas"]["GeoCode"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + extensionList?: components["schemas"]["ExtensionList"]; }; headers: { [key: string]: unknown }; }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; + currentState: components["schemas"]["async2SyncCurrentState"]; + }; + errorQuotesResponse: components["schemas"]["errorResponse"] & { + [key: string]: unknown; + }; + requestToPayRequest: { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + scenario: components["schemas"]["TransactionType"]; + initiator: components["schemas"]["TransactionInitiator"]; + initiatorType: components["schemas"]["TransactionInitiatorType"]; + }; + /** + * AuthenticationType + * @description Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + * @example OTP + * @enum {string} + */ + AuthenticationType: "OTP" | "QRCODE" | "U2F"; + /** + * TransactionRequestState + * @description Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. + * @example RECEIVED + * @enum {string} + */ + TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + requestToPayResponse: { + transactionRequestId: components["schemas"]["CorrelationId"]; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + scenario?: components["schemas"]["TransactionType"]; + initiator?: components["schemas"]["TransactionInitiator"]; + initiatorType?: components["schemas"]["TransactionInitiatorType"]; + authenticationType?: components["schemas"]["AuthenticationType"]; + requestToPayState: components["schemas"]["TransactionRequestState"]; + } & { + transactionType: unknown; + }; + requestToPayTransferRequest: { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + requestToPayTransactionId: string; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + scenario: components["schemas"]["TransactionType"]; + initiator: components["schemas"]["TransactionInitiator"]; + initiatorType: components["schemas"]["TransactionInitiatorType"]; + note?: components["schemas"]["Note"]; + }; + /** @enum {string} */ + transferStatus: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; + /** + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. + */ + QuotesIDPutResponse: { + transferAmount: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; + expiration: components["schemas"]["DateTime"]; + geoCode?: components["schemas"]["GeoCode"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. + */ + TransfersIDPutResponse: { + fulfilment?: components["schemas"]["IlpFulfilment"]; + completedTimestamp?: components["schemas"]["DateTime"]; + transferState: components["schemas"]["TransferState"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + requestToPayTransferResponse: { + transferId?: components["schemas"]["CorrelationId"]; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + requestToPayTransactionId: string; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + transactionType: components["schemas"]["transferTransactionType"]; + note?: components["schemas"]["Note"]; + currentState?: components["schemas"]["transferStatus"]; + quoteId?: components["schemas"]["CorrelationId"]; + quoteResponse?: components["schemas"]["QuotesIDPutResponse"]; + /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ + quoteResponseSource?: string; + fulfil?: components["schemas"]["TransfersIDPutResponse"]; + /** @description Object representing the last error to occur during a transfer process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ + lastError?: components["schemas"]["transferError"]; + }; + transferResponse: { + transferId?: components["schemas"]["CorrelationId"]; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + transactionType: components["schemas"]["transferTransactionType"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + note?: components["schemas"]["Note"]; + currentState?: components["schemas"]["transferStatus"]; + quoteId?: components["schemas"]["CorrelationId"]; + getPartiesResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; + }; + quoteResponse?: { + body: components["schemas"]["QuotesIDPutResponse"]; + headers?: { [key: string]: unknown }; + }; + /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ + quoteResponseSource?: string; + fulfil?: { + body: components["schemas"]["TransfersIDPutResponse"]; + headers?: { [key: string]: unknown }; + }; + /** @description Object representing the last error to occur during a transfer process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ + lastError?: components["schemas"]["transferError"]; + /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ + skipPartyLookup?: boolean; + }; + errorTransferResponse: components["schemas"]["errorResponse"] & { + transferState: components["schemas"]["transferResponse"]; + }; + transferContinuationAcceptOTP: { + /** @enum {boolean} */ + acceptOTP: true | false; }; - errorQuotesResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; /** * TransfersPostRequest * @description The object sent in the POST /transfers request. */ TransfersPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * FspId - * @description FSP identifier. - */ - payeeFsp: string; - /** - * FspId - * @description FSP identifier. - */ - payerFsp: string; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + transferId: components["schemas"]["CorrelationId"]; + payeeFsp: components["schemas"]["FspId"]; + payerFsp: components["schemas"]["FspId"]; + amount: components["schemas"]["Money"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + expiration: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** SimpleTransfersPostRequest */ simpleTransfersPostRequest: { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * TransfersPostRequest - * @description The object sent in the POST /transfers request. - */ - transfersPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * FspId - * @description FSP identifier. - */ - payeeFsp: string; - /** - * FspId - * @description FSP identifier. - */ - payerFsp: string; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + fspId: components["schemas"]["FspId"]; + transfersPostRequest: components["schemas"]["TransfersPostRequest"]; }; /** SimpleTransfersPostResponse */ simpleTransfersPostResponse: { transfer: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + body: components["schemas"]["TransfersIDPutResponse"]; headers: { [key: string]: unknown }; }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; + currentState: components["schemas"]["async2SyncCurrentState"]; + }; + errorSimpleTransfersResponse: components["schemas"]["errorResponse"] & { + [key: string]: unknown; + }; + transferRequest: { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + from: components["schemas"]["transferParty"]; + to: components["schemas"]["transferParty"]; + amountType: components["schemas"]["AmountType"]; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; + transactionType: components["schemas"]["transferTransactionType"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + note?: components["schemas"]["Note"]; + quoteRequestExtensions?: components["schemas"]["extensionListEmptiable"]; + transferRequestExtensions?: components["schemas"]["extensionListEmptiable"]; + /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ + skipPartyLookup?: boolean; + }; + transferStatusResponse: { + transferId: components["schemas"]["CorrelationId"]; + currentState: components["schemas"]["transferStatus"]; + fulfil: { + body: components["schemas"]["TransfersIDPutResponse"]; + headers?: { [key: string]: unknown }; + }; }; - errorSimpleTransfersResponse: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; }; responses: { - /** Transfer completed successfully */ - transferSuccess: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; + /** Accounts creation completed */ + accountsCreationCompleted: { + content: { + "application/json": components["schemas"]["accountsResponse"]; + }; + }; + /** An error occurred creating accounts */ + accountsCreationError: { + content: { + "application/json": components["schemas"]["errorAccountsResponse"]; + }; + }; + /** Timeout occurred creating accounts */ + accountsCreationTimeout: { + content: { + "application/json": components["schemas"]["errorAccountsResponse"]; + }; + }; + /** Bulk quote completed successfully */ + bulkQuoteSuccess: { + content: { + "application/json": components["schemas"]["bulkQuoteResponse"]; }; }; /** Malformed or missing required body, headers or parameters */ - transferBadRequest: { + bulkQuoteBadRequest: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; + "application/json": components["schemas"]["bulkQuoteErrorResponse"]; }; }; - /** An error occurred processing the transfer */ - transferServerError: { + /** An error occurred processing the bulk quote */ + bulkQuoteServerError: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; + "application/json": components["schemas"]["bulkQuoteErrorResponse"]; }; }; - /** Timeout occurred processing the transfer */ - transferTimeout: { + /** Timeout occurred processing the bulk quote */ + bulkQuoteTimeout: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; + "application/json": components["schemas"]["bulkQuoteErrorResponse"]; }; }; /** Bulk transfer accepted successfully */ @@ -52605,9103 +1490,127 @@ export interface components { /** Malformed or missing required body, headers or parameters */ bulkTransferBadRequest: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; + "application/json": components["schemas"]["bulkTransferErrorResponse"]; }; }; /** Internal Server Error */ errorResponse: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; + "application/json": components["schemas"]["errorResponse"]; }; }; /** Malformed or missing required body, headers or parameters */ bulkTransactionPutBadRequest: { content: { "application/json": - | ({ - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkTransferState: { - /** @description List of individual transfers in a bulk transfer with accept party information. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptParty: true | false; - })[]; - } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }) - | ({ - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & ({ - bulkTransferState?: { - /** @description List of individual transfers in a bulk transfer. */ - individualTransfers: ({ - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - } & { - /** @enum {boolean} */ - acceptQuote: true | false; - })[]; - } & { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - } & { - bulkTansferState: unknown; - })); + | components["schemas"]["bulkTransactionAcceptPartyErrorResponse"] + | components["schemas"]["bulkTransactionAcceptQuoteErrorResponse"]; }; }; /** Bulk transfer completed successfully */ bulkTransferSuccess: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkTransferId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individual transfer result in a bulk transfer response. */ - individualTransferResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; + "application/json": components["schemas"]["bulkTransferResponse"]; }; }; - /** Bulk quote completed successfully */ - bulkQuoteSuccess: { + /** PartiesByIdSuccess */ + partiesByIdSuccess: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; + "application/json": components["schemas"]["partiesByIdResponse"]; }; }; - /** Malformed or missing required body, headers or parameters */ - bulkQuoteBadRequest: { + /** PartiesByIdError404 */ + partiesByIdError404: { content: { "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; + errorInformation?: components["schemas"]["ErrorInformation"]; }; }; }; - /** An error occurred processing the bulk quote */ - bulkQuoteServerError: { + /** sync response from POST /quotes */ + quotesPostSuccess: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; + "application/json": components["schemas"]["quotesPostResponse"]; }; }; - /** Timeout occurred processing the bulk quote */ - bulkQuoteTimeout: { + /** An error occurred processing the quotes request */ + quotesServerError: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - bulkQuoteState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - bulkQuoteId: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @enum {string} */ - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** @description List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** @description This object represents a Mojaloop API error received at any time during the quote process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; + "application/json": components["schemas"]["errorQuotesResponse"]; }; }; /** Request to Pay completed successfully */ requestToPaySuccess: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - scenario?: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator?: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * AuthenticationType - * @description Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - * @example OTP - * @enum {string} - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - requestToPayState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - } & { - transactionType: unknown; - }; + "application/json": components["schemas"]["requestToPayResponse"]; }; }; /** Transfer completed successfully */ requestToPayTransferSuccess: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + "application/json": components["schemas"]["requestToPayTransferResponse"]; }; }; /** Malformed or missing required body, headers or parameters */ requestToPayTransferBadRequest: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - transferState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId?: string; - /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - displayName?: string; - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - /** - * transferTransactionType - * @description Type of transaction. - * @enum {string} - */ - transactionType: "TRANSFER"; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** @enum {string} */ - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: unknown }; - }; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** @description Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - }; - }; - }; - /** Accounts creation completed */ - accountsCreationCompleted: { - content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - /** An error occurred creating accounts */ - accountsCreationError: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - }; - /** Timeout occurred creating accounts */ - accountsCreationTimeout: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { - executionState: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - modelId?: string; - accounts: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - response?: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - idValue: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - }; - }[]; - /** @enum {string} */ - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** @description This object represents a Mojaloop API error received at any time during the transfer process */ - lastError?: { - /** @description The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** @description If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - }; - }; - }; - /** PartiesByIdSuccess */ - partiesByIdSuccess: { - content: { - "application/json": { - party: { - /** - * Party - * @description Data model for the complex type Party. - */ - body: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; + "application/json": components["schemas"]["errorTransferResponse"]; }; }; - /** PartiesByIdError404 */ - partiesByIdError404: { + /** An error occurred processing the transfer */ + transferServerError: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["errorTransferResponse"]; }; }; - /** sync response from POST /quotes */ - quotesPostSuccess: { + /** Timeout occurred processing the transfer */ + transferTimeout: { content: { - "application/json": { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - quotes: { - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * @description Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; + "application/json": components["schemas"]["errorTransferResponse"]; }; }; - /** An error occurred processing the quotes request */ - quotesServerError: { + /** Transfer completed successfully */ + transferSuccess: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; + "application/json": components["schemas"]["transferResponse"]; }; }; /** sync response from POST /simpleTransfers */ simpleTransfersPostSuccess: { content: { - "application/json": { - transfer: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; + "application/json": components["schemas"]["simpleTransfersPostResponse"]; }; }; /** An error occurred processing the simple transfers request */ simpleTransfersServerError: { content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; + "application/json": components["schemas"]["errorSimpleTransfersResponse"]; + }; + }; + /** Malformed or missing required body, headers or parameters */ + transferBadRequest: { + content: { + "application/json": components["schemas"]["errorTransferResponse"]; }; }; }; parameters: { - /** @description Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: string; - /** @description Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ - bulkTransactionId: string; /** @description Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkTransferId: string; + bulkQuoteId: components["schemas"]["CorrelationId"]; + /** @description Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: components["schemas"]["CorrelationId"]; /** @description Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkQuoteId: string; - /** @description Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ - requestToPayTransactionId: string; + bulkTransferId: components["schemas"]["CorrelationId"]; /** @description The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: string; /** @description The identifier value. */ ID: string; /** @description A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ SubId: string; + /** @description Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ + requestToPayTransactionId: components["schemas"]["CorrelationId"]; + /** @description Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ + transferId: components["schemas"]["CorrelationId"]; }; } @@ -61711,182 +1620,14 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; }; responses: { - /** PartiesByIdSuccess */ - 200: { - content: { - "application/json": { - party: { - /** - * Party - * @description Data model for the complex type Party. - */ - body: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - }; - /** PartiesByIdError404 */ - 404: { - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["partiesByIdSuccess"]; + 404: components["responses"]["partiesByIdError404"]; }; }; /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ @@ -61894,2091 +1635,41 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - SubId: string; + SubId: components["parameters"]["SubId"]; }; }; responses: { - /** PartiesByIdSuccess */ - 200: { - content: { - "application/json": { - party: { - /** - * Party - * @description Data model for the complex type Party. - */ - body: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - }; - /** PartiesByIdError404 */ - 404: { - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["partiesByIdSuccess"]; + 404: components["responses"]["partiesByIdError404"]; }; }; /** is used to request quotes from other DFSP */ QuotesPost: { responses: { - /** sync response from POST /quotes */ - 200: { - content: { - "application/json": { - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - quotes: { - body: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * @description Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - }; - /** An error occurred processing the quotes request */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; - }; - }; + 200: components["responses"]["quotesPostSuccess"]; + 500: components["responses"]["quotesServerError"]; }; /** Quotes request payload */ requestBody: { content: { - "application/json": { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * QuotesPostRequest - * @description The object sent in the POST /quotes request. - */ - quotesPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId?: string; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - * - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - fees?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["simpleQuotesPostRequest"]; }; }; }; /** is used to request a transfer */ SimpleTransfersPost: { responses: { - /** sync response from POST /simpleTransfers */ - 200: { - content: { - "application/json": { - transfer: { - /** - * TransfersIDPutResponse - * @description The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * IlpFulfilment - * @description Fulfilment that must be attached to the transfer by the Payee. - * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - */ - fulfilment?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransferState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - * @example RESERVED - * @enum {string} - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - headers: { [key: string]: unknown }; - }; - /** @enum {string} */ - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - }; - /** An error occurred processing the simple transfers request */ - 500: { - content: { - "application/json": { - /** @description Error code as string. */ - statusCode?: string; - /** @description Error message text. */ - message?: string; - } & { [key: string]: unknown }; - }; - }; + 200: components["responses"]["simpleTransfersPostSuccess"]; + 500: components["responses"]["simpleTransfersServerError"]; }; /** Simple Transfer request payload */ requestBody: { content: { - "application/json": { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * TransfersPostRequest - * @description The object sent in the POST /transfers request. - */ - transfersPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transferId: string; - /** - * FspId - * @description FSP identifier. - */ - payeeFsp: string; - /** - * FspId - * @description FSP identifier. - */ - payerFsp: string; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["simpleTransfersPostRequest"]; }; }; }; diff --git a/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts b/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts index 0a37fac7..7665a0aa 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts @@ -5,10 +5,27 @@ import JsonSchemas from './json-schemas.json' export namespace Schemas { - export const TransactionInitiatorType = JsonSchemas.TransactionInitiatorType export const PartyIdType = JsonSchemas.PartyIdType export const PartyIdentifier = JsonSchemas.PartyIdentifier export const PartySubIdOrType = JsonSchemas.PartySubIdOrType + export const Currency = JsonSchemas.Currency + export const accountsRequest = JsonSchemas.accountsRequest + export const CorrelationId = JsonSchemas.CorrelationId + export const errorResponse = JsonSchemas.errorResponse + export const accountCreationStatus = JsonSchemas.accountCreationStatus + export const accountsCreationState = JsonSchemas.accountsCreationState + export const ErrorCode = JsonSchemas.ErrorCode + export const ErrorDescription = JsonSchemas.ErrorDescription + export const ExtensionKey = JsonSchemas.ExtensionKey + export const ExtensionValue = JsonSchemas.ExtensionValue + export const Extension = JsonSchemas.Extension + export const ExtensionList = JsonSchemas.ExtensionList + export const ErrorInformation = JsonSchemas.ErrorInformation + export const mojaloopError = JsonSchemas.mojaloopError + export const transferError = JsonSchemas.transferError + export const accountsResponse = JsonSchemas.accountsResponse + export const errorAccountsResponse = JsonSchemas.errorAccountsResponse + export const TransactionInitiatorType = JsonSchemas.TransactionInitiatorType export const Name = JsonSchemas.Name export const FirstName = JsonSchemas.FirstName export const MiddleName = JsonSchemas.MiddleName @@ -16,42 +33,29 @@ export namespace Schemas { export const DateOfBirth = JsonSchemas.DateOfBirth export const MerchantClassificationCode = JsonSchemas.MerchantClassificationCode export const FspId = JsonSchemas.FspId - export const ExtensionKey = JsonSchemas.ExtensionKey - export const ExtensionValue = JsonSchemas.ExtensionValue - export const Extension = JsonSchemas.Extension export const extensionListEmptiable = JsonSchemas.extensionListEmptiable export const transferParty = JsonSchemas.transferParty export const AmountType = JsonSchemas.AmountType - export const Currency = JsonSchemas.Currency export const Amount = JsonSchemas.Amount export const transferTransactionType = JsonSchemas.transferTransactionType + export const TransactionSubScenario = JsonSchemas.TransactionSubScenario export const Note = JsonSchemas.Note - export const transferRequest = JsonSchemas.transferRequest - export const CorrelationId = JsonSchemas.CorrelationId - export const transferStatus = JsonSchemas.transferStatus - export const Money = JsonSchemas.Money + export const individualQuote = JsonSchemas.individualQuote + export const bulkQuoteRequest = JsonSchemas.bulkQuoteRequest export const DateTime = JsonSchemas.DateTime + export const bulkTransferStatus = JsonSchemas.bulkTransferStatus + export const Money = JsonSchemas.Money export const Latitude = JsonSchemas.Latitude export const Longitude = JsonSchemas.Longitude export const GeoCode = JsonSchemas.GeoCode export const IlpPacket = JsonSchemas.IlpPacket export const IlpCondition = JsonSchemas.IlpCondition - export const ExtensionList = JsonSchemas.ExtensionList - export const QuotesIDPutResponse = JsonSchemas.QuotesIDPutResponse - export const IlpFulfilment = JsonSchemas.IlpFulfilment - export const TransferState = JsonSchemas.TransferState - export const TransfersIDPutResponse = JsonSchemas.TransfersIDPutResponse - export const ErrorCode = JsonSchemas.ErrorCode - export const ErrorDescription = JsonSchemas.ErrorDescription - export const ErrorInformation = JsonSchemas.ErrorInformation - export const mojaloopError = JsonSchemas.mojaloopError - export const transferError = JsonSchemas.transferError - export const transferResponse = JsonSchemas.transferResponse - export const errorResponse = JsonSchemas.errorResponse - export const errorTransferResponse = JsonSchemas.errorTransferResponse - export const transferStatusResponse = JsonSchemas.transferStatusResponse - export const transferContinuationAcceptParty = JsonSchemas.transferContinuationAcceptParty - export const transferContinuationAcceptQuote = JsonSchemas.transferContinuationAcceptQuote + export const quoteError = JsonSchemas.quoteError + export const individualQuoteResult = JsonSchemas.individualQuoteResult + export const bulkQuoteResponse = JsonSchemas.bulkQuoteResponse + export const bulkQuoteErrorResponse = JsonSchemas.bulkQuoteErrorResponse + export const bulkQuoteStatus = JsonSchemas.bulkQuoteStatus + export const bulkQuoteStatusResponse = JsonSchemas.bulkQuoteStatusResponse export const autoAcceptPartyOption = JsonSchemas.autoAcceptPartyOption export const bulkPerTransferFeeLimit = JsonSchemas.bulkPerTransferFeeLimit export const autoAcceptQuote = JsonSchemas.autoAcceptQuote @@ -63,55 +67,51 @@ export namespace Schemas { export const Party = JsonSchemas.Party export const bulkTransactionIndividualTransfer = JsonSchemas.bulkTransactionIndividualTransfer export const bulkTransactionRequest = JsonSchemas.bulkTransactionRequest - export const bulkTransferStatus = JsonSchemas.bulkTransferStatus + export const TransferState = JsonSchemas.TransferState + export const IlpFulfilment = JsonSchemas.IlpFulfilment export const individualTransferResult = JsonSchemas.individualTransferResult export const bulkTransferResponse = JsonSchemas.bulkTransferResponse export const bulkTransferErrorResponse = JsonSchemas.bulkTransferErrorResponse export const bulkTransactionIndividualTransferAccept = JsonSchemas.bulkTransactionIndividualTransferAccept + export const transferContinuationAcceptParty = JsonSchemas.transferContinuationAcceptParty export const bulkTransactionContinuationAcceptParty = JsonSchemas.bulkTransactionContinuationAcceptParty + export const transferContinuationAcceptQuote = JsonSchemas.transferContinuationAcceptQuote export const bulkTransactionContinuationAcceptQuote = JsonSchemas.bulkTransactionContinuationAcceptQuote export const partyError = JsonSchemas.partyError export const bulkTransactionAcceptPartyErrorResponse = JsonSchemas.bulkTransactionAcceptPartyErrorResponse - export const quoteError = JsonSchemas.quoteError export const bulkTransactionAcceptQuoteErrorResponse = JsonSchemas.bulkTransactionAcceptQuoteErrorResponse export const individualTransfer = JsonSchemas.individualTransfer export const bulkTransferRequest = JsonSchemas.bulkTransferRequest export const individualTransferFulfilment = JsonSchemas.individualTransferFulfilment export const bulkTransferStatusResponse = JsonSchemas.bulkTransferStatusResponse - export const individualQuote = JsonSchemas.individualQuote - export const bulkQuoteRequest = JsonSchemas.bulkQuoteRequest - export const individualQuoteResult = JsonSchemas.individualQuoteResult - export const bulkQuoteResponse = JsonSchemas.bulkQuoteResponse - export const bulkQuoteErrorResponse = JsonSchemas.bulkQuoteErrorResponse - export const bulkQuoteStatus = JsonSchemas.bulkQuoteStatus - export const bulkQuoteStatusResponse = JsonSchemas.bulkQuoteStatusResponse + export const async2SyncCurrentState = JsonSchemas.async2SyncCurrentState + export const partiesByIdResponse = JsonSchemas.partiesByIdResponse export const TransactionScenario = JsonSchemas.TransactionScenario - export const TransactionSubScenario = JsonSchemas.TransactionSubScenario export const TransactionInitiator = JsonSchemas.TransactionInitiator export const RefundReason = JsonSchemas.RefundReason export const Refund = JsonSchemas.Refund export const BalanceOfPayments = JsonSchemas.BalanceOfPayments export const TransactionType = JsonSchemas.TransactionType + export const QuotesPostRequest = JsonSchemas.QuotesPostRequest + export const simpleQuotesPostRequest = JsonSchemas.simpleQuotesPostRequest + export const quotesPostResponse = JsonSchemas.quotesPostResponse + export const errorQuotesResponse = JsonSchemas.errorQuotesResponse export const requestToPayRequest = JsonSchemas.requestToPayRequest export const AuthenticationType = JsonSchemas.AuthenticationType export const TransactionRequestState = JsonSchemas.TransactionRequestState export const requestToPayResponse = JsonSchemas.requestToPayResponse export const requestToPayTransferRequest = JsonSchemas.requestToPayTransferRequest + export const transferStatus = JsonSchemas.transferStatus + export const QuotesIDPutResponse = JsonSchemas.QuotesIDPutResponse + export const TransfersIDPutResponse = JsonSchemas.TransfersIDPutResponse export const requestToPayTransferResponse = JsonSchemas.requestToPayTransferResponse + export const transferResponse = JsonSchemas.transferResponse + export const errorTransferResponse = JsonSchemas.errorTransferResponse export const transferContinuationAcceptOTP = JsonSchemas.transferContinuationAcceptOTP - export const accountsRequest = JsonSchemas.accountsRequest - export const accountCreationStatus = JsonSchemas.accountCreationStatus - export const accountsCreationState = JsonSchemas.accountsCreationState - export const accountsResponse = JsonSchemas.accountsResponse - export const errorAccountsResponse = JsonSchemas.errorAccountsResponse - export const async2SyncCurrentState = JsonSchemas.async2SyncCurrentState - export const partiesByIdResponse = JsonSchemas.partiesByIdResponse - export const QuotesPostRequest = JsonSchemas.QuotesPostRequest - export const simpleQuotesPostRequest = JsonSchemas.simpleQuotesPostRequest - export const quotesPostResponse = JsonSchemas.quotesPostResponse - export const errorQuotesResponse = JsonSchemas.errorQuotesResponse export const TransfersPostRequest = JsonSchemas.TransfersPostRequest export const simpleTransfersPostRequest = JsonSchemas.simpleTransfersPostRequest export const simpleTransfersPostResponse = JsonSchemas.simpleTransfersPostResponse export const errorSimpleTransfersResponse = JsonSchemas.errorSimpleTransfersResponse + export const transferRequest = JsonSchemas.transferRequest + export const transferStatusResponse = JsonSchemas.transferStatusResponse } diff --git a/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts b/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts index 48287275..da521111 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts @@ -5,10 +5,27 @@ import { components } from './openapi' export namespace Types { - export type TransactionInitiatorType = components['schemas']['TransactionInitiatorType'] export type PartyIdType = components['schemas']['PartyIdType'] export type PartyIdentifier = components['schemas']['PartyIdentifier'] export type PartySubIdOrType = components['schemas']['PartySubIdOrType'] + export type Currency = components['schemas']['Currency'] + export type accountsRequest = components['schemas']['accountsRequest'] + export type CorrelationId = components['schemas']['CorrelationId'] + export type errorResponse = components['schemas']['errorResponse'] + export type accountCreationStatus = components['schemas']['accountCreationStatus'] + export type accountsCreationState = components['schemas']['accountsCreationState'] + export type ErrorCode = components['schemas']['ErrorCode'] + export type ErrorDescription = components['schemas']['ErrorDescription'] + export type ExtensionKey = components['schemas']['ExtensionKey'] + export type ExtensionValue = components['schemas']['ExtensionValue'] + export type Extension = components['schemas']['Extension'] + export type ExtensionList = components['schemas']['ExtensionList'] + export type ErrorInformation = components['schemas']['ErrorInformation'] + export type mojaloopError = components['schemas']['mojaloopError'] + export type transferError = components['schemas']['transferError'] + export type accountsResponse = components['schemas']['accountsResponse'] + export type errorAccountsResponse = components['schemas']['errorAccountsResponse'] + export type TransactionInitiatorType = components['schemas']['TransactionInitiatorType'] export type Name = components['schemas']['Name'] export type FirstName = components['schemas']['FirstName'] export type MiddleName = components['schemas']['MiddleName'] @@ -16,42 +33,29 @@ export namespace Types { export type DateOfBirth = components['schemas']['DateOfBirth'] export type MerchantClassificationCode = components['schemas']['MerchantClassificationCode'] export type FspId = components['schemas']['FspId'] - export type ExtensionKey = components['schemas']['ExtensionKey'] - export type ExtensionValue = components['schemas']['ExtensionValue'] - export type Extension = components['schemas']['Extension'] export type extensionListEmptiable = components['schemas']['extensionListEmptiable'] export type transferParty = components['schemas']['transferParty'] export type AmountType = components['schemas']['AmountType'] - export type Currency = components['schemas']['Currency'] export type Amount = components['schemas']['Amount'] export type transferTransactionType = components['schemas']['transferTransactionType'] + export type TransactionSubScenario = components['schemas']['TransactionSubScenario'] export type Note = components['schemas']['Note'] - export type transferRequest = components['schemas']['transferRequest'] - export type CorrelationId = components['schemas']['CorrelationId'] - export type transferStatus = components['schemas']['transferStatus'] - export type Money = components['schemas']['Money'] + export type individualQuote = components['schemas']['individualQuote'] + export type bulkQuoteRequest = components['schemas']['bulkQuoteRequest'] export type DateTime = components['schemas']['DateTime'] + export type bulkTransferStatus = components['schemas']['bulkTransferStatus'] + export type Money = components['schemas']['Money'] export type Latitude = components['schemas']['Latitude'] export type Longitude = components['schemas']['Longitude'] export type GeoCode = components['schemas']['GeoCode'] export type IlpPacket = components['schemas']['IlpPacket'] export type IlpCondition = components['schemas']['IlpCondition'] - export type ExtensionList = components['schemas']['ExtensionList'] - export type QuotesIDPutResponse = components['schemas']['QuotesIDPutResponse'] - export type IlpFulfilment = components['schemas']['IlpFulfilment'] - export type TransferState = components['schemas']['TransferState'] - export type TransfersIDPutResponse = components['schemas']['TransfersIDPutResponse'] - export type ErrorCode = components['schemas']['ErrorCode'] - export type ErrorDescription = components['schemas']['ErrorDescription'] - export type ErrorInformation = components['schemas']['ErrorInformation'] - export type mojaloopError = components['schemas']['mojaloopError'] - export type transferError = components['schemas']['transferError'] - export type transferResponse = components['schemas']['transferResponse'] - export type errorResponse = components['schemas']['errorResponse'] - export type errorTransferResponse = components['schemas']['errorTransferResponse'] - export type transferStatusResponse = components['schemas']['transferStatusResponse'] - export type transferContinuationAcceptParty = components['schemas']['transferContinuationAcceptParty'] - export type transferContinuationAcceptQuote = components['schemas']['transferContinuationAcceptQuote'] + export type quoteError = components['schemas']['quoteError'] + export type individualQuoteResult = components['schemas']['individualQuoteResult'] + export type bulkQuoteResponse = components['schemas']['bulkQuoteResponse'] + export type bulkQuoteErrorResponse = components['schemas']['bulkQuoteErrorResponse'] + export type bulkQuoteStatus = components['schemas']['bulkQuoteStatus'] + export type bulkQuoteStatusResponse = components['schemas']['bulkQuoteStatusResponse'] export type autoAcceptPartyOption = components['schemas']['autoAcceptPartyOption'] export type bulkPerTransferFeeLimit = components['schemas']['bulkPerTransferFeeLimit'] export type autoAcceptQuote = components['schemas']['autoAcceptQuote'] @@ -63,55 +67,51 @@ export namespace Types { export type Party = components['schemas']['Party'] export type bulkTransactionIndividualTransfer = components['schemas']['bulkTransactionIndividualTransfer'] export type bulkTransactionRequest = components['schemas']['bulkTransactionRequest'] - export type bulkTransferStatus = components['schemas']['bulkTransferStatus'] + export type TransferState = components['schemas']['TransferState'] + export type IlpFulfilment = components['schemas']['IlpFulfilment'] export type individualTransferResult = components['schemas']['individualTransferResult'] export type bulkTransferResponse = components['schemas']['bulkTransferResponse'] export type bulkTransferErrorResponse = components['schemas']['bulkTransferErrorResponse'] export type bulkTransactionIndividualTransferAccept = components['schemas']['bulkTransactionIndividualTransferAccept'] + export type transferContinuationAcceptParty = components['schemas']['transferContinuationAcceptParty'] export type bulkTransactionContinuationAcceptParty = components['schemas']['bulkTransactionContinuationAcceptParty'] + export type transferContinuationAcceptQuote = components['schemas']['transferContinuationAcceptQuote'] export type bulkTransactionContinuationAcceptQuote = components['schemas']['bulkTransactionContinuationAcceptQuote'] export type partyError = components['schemas']['partyError'] export type bulkTransactionAcceptPartyErrorResponse = components['schemas']['bulkTransactionAcceptPartyErrorResponse'] - export type quoteError = components['schemas']['quoteError'] export type bulkTransactionAcceptQuoteErrorResponse = components['schemas']['bulkTransactionAcceptQuoteErrorResponse'] export type individualTransfer = components['schemas']['individualTransfer'] export type bulkTransferRequest = components['schemas']['bulkTransferRequest'] export type individualTransferFulfilment = components['schemas']['individualTransferFulfilment'] export type bulkTransferStatusResponse = components['schemas']['bulkTransferStatusResponse'] - export type individualQuote = components['schemas']['individualQuote'] - export type bulkQuoteRequest = components['schemas']['bulkQuoteRequest'] - export type individualQuoteResult = components['schemas']['individualQuoteResult'] - export type bulkQuoteResponse = components['schemas']['bulkQuoteResponse'] - export type bulkQuoteErrorResponse = components['schemas']['bulkQuoteErrorResponse'] - export type bulkQuoteStatus = components['schemas']['bulkQuoteStatus'] - export type bulkQuoteStatusResponse = components['schemas']['bulkQuoteStatusResponse'] + export type async2SyncCurrentState = components['schemas']['async2SyncCurrentState'] + export type partiesByIdResponse = components['schemas']['partiesByIdResponse'] export type TransactionScenario = components['schemas']['TransactionScenario'] - export type TransactionSubScenario = components['schemas']['TransactionSubScenario'] export type TransactionInitiator = components['schemas']['TransactionInitiator'] export type RefundReason = components['schemas']['RefundReason'] export type Refund = components['schemas']['Refund'] export type BalanceOfPayments = components['schemas']['BalanceOfPayments'] export type TransactionType = components['schemas']['TransactionType'] + export type QuotesPostRequest = components['schemas']['QuotesPostRequest'] + export type simpleQuotesPostRequest = components['schemas']['simpleQuotesPostRequest'] + export type quotesPostResponse = components['schemas']['quotesPostResponse'] + export type errorQuotesResponse = components['schemas']['errorQuotesResponse'] export type requestToPayRequest = components['schemas']['requestToPayRequest'] export type AuthenticationType = components['schemas']['AuthenticationType'] export type TransactionRequestState = components['schemas']['TransactionRequestState'] export type requestToPayResponse = components['schemas']['requestToPayResponse'] export type requestToPayTransferRequest = components['schemas']['requestToPayTransferRequest'] + export type transferStatus = components['schemas']['transferStatus'] + export type QuotesIDPutResponse = components['schemas']['QuotesIDPutResponse'] + export type TransfersIDPutResponse = components['schemas']['TransfersIDPutResponse'] export type requestToPayTransferResponse = components['schemas']['requestToPayTransferResponse'] + export type transferResponse = components['schemas']['transferResponse'] + export type errorTransferResponse = components['schemas']['errorTransferResponse'] export type transferContinuationAcceptOTP = components['schemas']['transferContinuationAcceptOTP'] - export type accountsRequest = components['schemas']['accountsRequest'] - export type accountCreationStatus = components['schemas']['accountCreationStatus'] - export type accountsCreationState = components['schemas']['accountsCreationState'] - export type accountsResponse = components['schemas']['accountsResponse'] - export type errorAccountsResponse = components['schemas']['errorAccountsResponse'] - export type async2SyncCurrentState = components['schemas']['async2SyncCurrentState'] - export type partiesByIdResponse = components['schemas']['partiesByIdResponse'] - export type QuotesPostRequest = components['schemas']['QuotesPostRequest'] - export type simpleQuotesPostRequest = components['schemas']['simpleQuotesPostRequest'] - export type quotesPostResponse = components['schemas']['quotesPostResponse'] - export type errorQuotesResponse = components['schemas']['errorQuotesResponse'] export type TransfersPostRequest = components['schemas']['TransfersPostRequest'] export type simpleTransfersPostRequest = components['schemas']['simpleTransfersPostRequest'] export type simpleTransfersPostResponse = components['schemas']['simpleTransfersPostResponse'] export type errorSimpleTransfersResponse = components['schemas']['errorSimpleTransfersResponse'] + export type transferRequest = components['schemas']['transferRequest'] + export type transferStatusResponse = components['schemas']['transferStatusResponse'] } diff --git a/src/thirdparty/openapi.ts b/src/thirdparty/openapi.ts index b0787674..72b95ab6 100644 --- a/src/thirdparty/openapi.ts +++ b/src/thirdparty/openapi.ts @@ -16,31 +16,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -50,31 +50,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -95,27 +95,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -143,31 +143,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -177,31 +177,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -211,27 +211,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -271,31 +271,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -305,31 +305,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -339,27 +339,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -369,31 +369,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -403,31 +403,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -447,33 +447,33 @@ export interface paths { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -483,33 +483,33 @@ export interface paths { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -527,31 +527,31 @@ export interface paths { parameters: { path: { /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - ServiceType: string; + ServiceType: components["parameters"]["ServiceType"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -561,31 +561,31 @@ export interface paths { parameters: { path: { /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - ServiceType: string; + ServiceType: components["parameters"]["ServiceType"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -595,27 +595,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -642,31 +642,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -681,31 +681,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -715,27 +715,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -757,31 +757,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -800,31 +800,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -834,27 +834,27 @@ export interface paths { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -874,31 +874,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -911,31 +911,31 @@ export interface paths { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; @@ -1034,16 +1034,8 @@ export interface components { * @description Data model for the complex type Extension. */ Extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; + key: components["schemas"]["ExtensionKey"]; + value: components["schemas"]["ExtensionValue"]; }; /** * ExtensionList @@ -1051,119 +1043,18 @@ export interface components { */ ExtensionList: { /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; + extension: components["schemas"]["Extension"][]; }; /** * PartyIdInfo * @description Data model for the complex type PartyIdInfo. */ PartyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + partyIdType: components["schemas"]["PartyIdType"]; + partyIdentifier: components["schemas"]["PartyIdentifier"]; + partySubIdOrType?: components["schemas"]["PartySubIdOrType"]; + fspId?: components["schemas"]["FspId"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ErrorCode @@ -1181,179 +1072,17 @@ export interface components { * @description Data model for the complex type ErrorInformation. */ ErrorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + errorCode: components["schemas"]["ErrorCode"]; + errorDescription: components["schemas"]["ErrorDescription"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * PartyResult * @description Data model for the complex type PartyResult. */ PartyResult: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + partyId: components["schemas"]["PartyIdInfo"]; + errorInformation?: components["schemas"]["ErrorInformation"]; }; /** * Currency @@ -1531,315 +1260,8 @@ export interface components { */ ParticipantsIDPutResponse: { /** @description List of PartyResult elements that were either created or failed to be created. */ - partyList: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + partyList: components["schemas"]["PartyResult"][]; + currency?: components["schemas"]["Currency"]; }; /** * MerchantClassificationCode @@ -1874,24 +1296,9 @@ export interface components { * @description Data model for the complex type PartyComplexName. */ PartyComplexName: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; + firstName?: components["schemas"]["FirstName"]; + middleName?: components["schemas"]["MiddleName"]; + lastName?: components["schemas"]["LastName"]; }; /** * DateofBirth (type Date) @@ -1904,189 +1311,18 @@ export interface components { * @description Data model for the complex type PartyPersonalInfo. */ PartyPersonalInfo: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; + complexName?: components["schemas"]["PartyComplexName"]; + dateOfBirth?: components["schemas"]["DateOfBirth"]; }; /** * Party * @description Data model for the complex type Party. */ Party: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; + partyIdInfo: components["schemas"]["PartyIdInfo"]; + merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; + name?: components["schemas"]["PartyName"]; + personalInfo?: components["schemas"]["PartyPersonalInfo"]; }; /** * PartiesTypeIDPutResponse @@ -2097,159 +1333,7 @@ export interface components { * `accounts` property. */ PartiesTypeIDPutResponse: { - /** - * Party - * @description Data model for the complex type Party. - */ - party: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + party: components["schemas"]["Party"]; }; /** * Amount @@ -2262,182 +1346,8 @@ export interface components { * @description Data model for the complex type Money. */ Money: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; }; /** * DateTime @@ -2462,18 +1372,8 @@ export interface components { * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ GeoCode: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; + latitude: components["schemas"]["Latitude"]; + longitude: components["schemas"]["Longitude"]; }; /** * IlpPacket @@ -2491,788 +1391,15 @@ export interface components { * @description The object sent in the PUT /quotes/{ID} callback. */ QuotesIDPutResponse: { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + transferAmount: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; + expiration: components["schemas"]["DateTime"]; + geoCode?: components["schemas"]["GeoCode"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * TransactionRequestState @@ -3305,53 +1432,10 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations */ ThirdpartyRequestsTransactionsIDPatchResponse: { - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * TransactionState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + completedTimestamp?: components["schemas"]["DateTime"]; + transactionRequestState: components["schemas"]["TransactionRequestState"]; + transactionState: components["schemas"]["TransactionState"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * AuthorizationResponseType @@ -3398,49 +1482,11 @@ export interface components { * @description Data model for the complex type PartyIdInfo. */ PartyIdInfoTPLink: { - /** - * PartyIdTypeTPLink - * @description - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + partyIdType: components["schemas"]["PartyIdTypeTPLink"]; + partyIdentifier: components["schemas"]["PartyIdentifier"]; + partySubIdOrType?: components["schemas"]["PartySubIdOrType"]; + fspId?: components["schemas"]["FspId"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ServiceType @@ -3461,283 +1507,13 @@ export interface components { * @description The object sent in the POST /participants request. */ ParticipantsPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - requestId: string; + requestId: components["schemas"]["CorrelationId"]; /** * @description List of PartyIdInfo elements that the client would like to update * or create FSP information about. */ - partyList: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + partyList: components["schemas"]["PartyIdInfo"][]; + currency?: components["schemas"]["Currency"]; }; /** * AmountType @@ -3802,18 +1578,8 @@ export interface components { * @description Data model for the complex type Refund. */ Refund: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; + originalTransactionId: components["schemas"]["CorrelationId"]; + refundReason?: components["schemas"]["RefundReason"]; }; /** * BalanceOfPayments @@ -3826,68 +1592,12 @@ export interface components { * @description Data model for the complex type TransactionType. */ TransactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; + scenario: components["schemas"]["TransactionScenario"]; + subScenario?: components["schemas"]["TransactionSubScenario"]; + initiator: components["schemas"]["TransactionInitiator"]; + initiatorType: components["schemas"]["TransactionInitiatorType"]; + refundInfo?: components["schemas"]["Refund"]; + balanceOfPayments?: components["schemas"]["BalanceOfPayments"]; }; /** * QuotesPostRequest @@ -3895,861 +1605,56 @@ export interface components { */ QuotesPostRequest: { /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * @description Common ID between the FSPs for the quote object, decided by the Payer FSP. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction. * @example b51ec534-ee48-4575-b6a9-ead2955b8069 */ - quoteId: string; + quoteId: components["schemas"]["CorrelationId"]; /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + * @description Common ID (decided by the Payer FSP) between the FSPs for the future transaction object. The actual transaction will be created as part of a successful transfer process. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction. + * @example a8323bc6-c228-4df2-ae82-e5a997baf899 */ - transactionId: string; + transactionId: components["schemas"]["CorrelationId"]; /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + * @description Identifies an optional previously-sent transaction request. + * @example a8323bc6-c228-4df2-ae82-e5a997baf890 */ - transactionRequestId?: string; + transactionRequestId?: components["schemas"]["CorrelationId"]; + /** @description Information about the Payee in the proposed financial transaction. */ + payee: components["schemas"]["Party"]; + /** @description Information about the Payer in the proposed financial transaction. */ + payer: components["schemas"]["Party"]; /** - * Party - * @description Data model for the complex type Party. + * @description SEND for send amount, RECEIVE for receive amount. + * @example SEND */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + amountType: components["schemas"]["AmountType"]; + /** @description Depending on amountType - If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities. */ + amount: components["schemas"]["Money"]; + /** @description The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed. */ + fees?: components["schemas"]["Money"]; + /** @description Type of transaction for which the quote is requested. */ + transactionType: components["schemas"]["TransactionType"]; + /** @description Longitude and Latitude of the initiating Party. Can be used to detect fraud. */ + geoCode?: components["schemas"]["GeoCode"]; /** - * Party - * @description Data model for the complex type Party. + * @description A memo that will be attached to the transaction. + * @example Free-text memo. */ - payer: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + note?: components["schemas"]["Note"]; /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - fees?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * @description Expiration is optional. It can be set to get a quick failure in case the peer FSP takes too long to respond. Also, it may be beneficial for Consumer, Agent, and Merchant to know that their request has a time limit. * @example 2016-05-24T08:38:08.699-04:00 */ - expiration?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + expiration?: components["schemas"]["DateTime"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ErrorInformationResponse * @description Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. */ ErrorInformationResponse: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + errorInformation?: components["schemas"]["ErrorInformation"]; }; /** * Name @@ -4776,392 +1681,16 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3211-account */ Account: { - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - accountNickname: string; - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + accountNickname: components["schemas"]["Name"]; + address: components["schemas"]["AccountAddress"]; + currency: components["schemas"]["Currency"]; }; /** * AccountList * @description The AccountList data model is used to hold information about the accounts that a party controls. * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist */ - AccountList: { - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - accountNickname: string; - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; + AccountList: components["schemas"]["Account"][]; /** * AccountsIDPutResponse * @description Callback and data model information for GET /accounts/{ID}: @@ -5170,263 +1699,15 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31121--put-accountsid */ AccountsIDPutResponse: { - /** - * AccountList - * @description The AccountList data model is used to hold information about the accounts that a party controls. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist - */ - accounts: { - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - accountNickname: string; - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + accounts: components["schemas"]["AccountList"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ErrorInformationObject * @description Data model for the complex type object that contains ErrorInformation. */ ErrorInformationObject: { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + errorInformation: components["schemas"]["ErrorInformation"]; }; /** * ScopeAction @@ -5450,21 +1731,8 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope */ Scope: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; + address: components["schemas"]["AccountAddress"]; + actions: components["schemas"]["ScopeAction"][]; }; /** * ConsentRequestChannelType @@ -5489,56 +1757,13 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31212-post-consentrequests */ ConsentRequestsPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - consentRequestId: string; + consentRequestId: components["schemas"]["CorrelationId"]; /** @description The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest` */ userId: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: ("WEB" | "OTP")[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + scopes: components["schemas"]["Scope"][]; + authChannels: components["schemas"]["ConsentRequestChannelType"][]; + callbackUri: components["schemas"]["Uri"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentRequestChannelTypeWeb @@ -5557,53 +1782,11 @@ export interface components { * the user can prove their identity (e.g., by logging in). */ ConsentRequestsIDPutResponseWeb: { - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: "WEB"[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri: string; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - authUri: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + scopes: components["schemas"]["Scope"][]; + authChannels: components["schemas"]["ConsentRequestChannelTypeWeb"][]; + callbackUri: components["schemas"]["Uri"]; + authUri: components["schemas"]["Uri"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentRequestChannelTypeOTP @@ -5619,48 +1802,10 @@ export interface components { * Schema used in the request consent phase of the account linking OTP/SMS flow. */ ConsentRequestsIDPutResponseOTP: { - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: "OTP"[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + scopes: components["schemas"]["Scope"][]; + authChannels: components["schemas"]["ConsentRequestChannelTypeOTP"][]; + callbackUri?: components["schemas"]["Uri"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ BinaryString: string; @@ -5671,27 +1816,8 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31222-patch-consentrequestsid */ ConsentRequestsIDPatchRequest: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - authToken: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + authToken: components["schemas"]["BinaryString"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * CredentialType @@ -5713,10 +1839,8 @@ export interface components { * @description A publicKey + signature of a challenge for a generic public/private keypair. */ GenericCredential: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; + publicKey: components["schemas"]["BinaryString"]; + signature: components["schemas"]["BinaryString"]; }; /** * FIDOPublicKeyCredentialAttestation @@ -5758,61 +1882,10 @@ export interface components { * updating a credential. */ SignedCredential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusPending - * @description The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - * - * @enum {string} - */ - status: "PENDING"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; + credentialType: components["schemas"]["CredentialType"]; + status: components["schemas"]["CredentialStatusPending"]; + genericPayload?: components["schemas"]["GenericCredential"]; + fidoPayload?: components["schemas"]["FIDOPublicKeyCredentialAttestation"]; }; /** * ConsentStatus @@ -5832,114 +1905,12 @@ export interface components { * @description Common ID between the PISP and FSP for the Consent object * determined by the DFSP who creates the Consent. */ - consentId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - consentRequestId?: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusPending - * @description The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - * - * @enum {string} - */ - status: "PENDING"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ConsentStatus - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "ISSUED" | "REVOKED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + consentId: components["schemas"]["CorrelationId"]; + consentRequestId?: components["schemas"]["CorrelationId"]; + scopes: components["schemas"]["Scope"][]; + credential: components["schemas"]["SignedCredential"]; + status: components["schemas"]["ConsentStatus"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentPostRequestPISP @@ -5951,53 +1922,12 @@ export interface components { * should be reused for re-sends of the same consent. A new ID should be generated * for each new consent. */ - consentId: string; + consentId: components["schemas"]["CorrelationId"]; /** @description The ID given to the original consent request on which this consent is based. */ - consentRequestId: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * ConsentStatus - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "ISSUED" | "REVOKED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + consentRequestId: components["schemas"]["CorrelationId"]; + scopes: components["schemas"]["Scope"][]; + status: components["schemas"]["ConsentStatus"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentsIDPutResponseSigned @@ -6005,115 +1935,10 @@ export interface components { * Called by a `PISP` to after signing a challenge. Sent to a DFSP for verification. */ ConsentsIDPutResponseSigned: { - /** - * ConsentStatusIssued - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * @enum {string} - */ - status?: "ISSUED"; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * SignedCredential - * @description A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * SignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when - * updating a credential. - */ - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusPending - * @description The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - * - * @enum {string} - */ - status: "PENDING"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + status?: components["schemas"]["ConsentStatusIssued"]; + scopes: components["schemas"]["Scope"][]; + credential: components["schemas"]["SignedCredential"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * CredentialStatusVerified @@ -6133,61 +1958,10 @@ export interface components { * updating a credential. */ VerifiedCredential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusVerified - * @description The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - * - * @enum {string} - */ - status: "VERIFIED"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; + credentialType: components["schemas"]["CredentialType"]; + status: components["schemas"]["CredentialStatusVerified"]; + genericPayload?: components["schemas"]["GenericCredential"]; + fidoPayload?: components["schemas"]["FIDOPublicKeyCredentialAttestation"]; }; /** * ConsentsIDPutResponseVerified @@ -6195,115 +1969,10 @@ export interface components { * Called by a `auth-service` to notify a DFSP that a credential has been verified and registered. */ ConsentsIDPutResponseVerified: { - /** - * ConsentStatusIssued - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * @enum {string} - */ - status?: "ISSUED"; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * VerifiedCredential - * @description A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * VerifiedCredential is a special formatting of Credential to allow us to be - * more explicit about the `status` field - it should only ever be VERIFIED when - * updating a credential. - */ - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusVerified - * @description The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - * - * @enum {string} - */ - status: "VERIFIED"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + status?: components["schemas"]["ConsentStatusIssued"]; + scopes: components["schemas"]["Scope"][]; + credential: components["schemas"]["VerifiedCredential"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentsIDPatchResponseVerified @@ -6314,34 +1983,9 @@ export interface components { */ ConsentsIDPatchResponseVerified: { credential: { - /** - * CredentialStatusVerified - * @description The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - * - * @enum {string} - */ - status: "VERIFIED"; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; + status: components["schemas"]["CredentialStatusVerified"]; }; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ConsentStatusRevoked @@ -6358,249 +2002,25 @@ export interface components { * Used in the "Unlinking" part of the Account Unlinking flow. */ ConsentsIDPatchResponseRevoked: { - /** - * ConsentStatusRevoked - * @description Allowed values for the enumeration ConsentStatus - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "REVOKED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - revokedAt: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + status: components["schemas"]["ConsentStatusRevoked"]; + revokedAt: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ParticipantsTypeIDPutResponse * @description The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. */ ParticipantsTypeIDPutResponse: { - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; + fspId?: components["schemas"]["FspId"]; }; /** * ParticipantsTypeIDSubIDPostRequest * @description The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. An additional optional ExtensionList element has been added as part of v1.1 changes. */ ParticipantsTypeIDSubIDPostRequest: { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + fspId: components["schemas"]["FspId"]; + currency?: components["schemas"]["Currency"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ServicesServiceTypePutResponse @@ -6611,26 +2031,8 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31531-put-servicesservicetype */ ServicesServiceTypePutResponse: { - providers: string[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + providers: components["schemas"]["FspId"][]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ThirdpartyRequestsTransactionsPostRequest @@ -6642,501 +2044,17 @@ export interface components { */ ThirdpartyRequestsTransactionsPostRequest: { /** @description Common ID between the PISP and the Payer DFSP for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. */ - transactionRequestId: string; + transactionRequestId: components["schemas"]["CorrelationId"]; /** @description Information about the Payee in the proposed financial transaction. */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; + payee: components["schemas"]["Party"]; /** @description Information about the Payer in the proposed financial transaction. */ - payer: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + payer: components["schemas"]["PartyIdInfo"]; /** @description SEND for sendAmount, RECEIVE for receiveAmount. */ - amountType: "SEND" | "RECEIVE"; + amountType: components["schemas"]["AmountType"]; /** @description Requested amount to be transferred from the Payer to Payee. */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; + amount: components["schemas"]["Money"]; /** @description Type of transaction. */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; + transactionType: components["schemas"]["TransactionType"]; /** @description A memo that will be attached to the transaction. */ note?: string; /** @@ -7145,25 +2063,7 @@ export interface components { * @example 2016-05-24T08:38:08.699-04:00 */ expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ThirdpartyRequestsTransactionsIDPutResponse @@ -7172,42 +2072,9 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31721-put-thirdpartyrequeststransactionsid */ ThirdpartyRequestsTransactionsIDPutResponse: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId?: string; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + transactionId?: components["schemas"]["CorrelationId"]; + transactionRequestState: components["schemas"]["TransactionRequestState"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ThirdpartyRequestsAuthorizationsPostRequest @@ -7218,894 +2085,24 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations */ ThirdpartyRequestsAuthorizationsPostRequest: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - authorizationRequestId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId: string; + authorizationRequestId: components["schemas"]["CorrelationId"]; + transactionRequestId: components["schemas"]["CorrelationId"]; /** @description The challenge that the PISP's client is to sign */ challenge: string; /** @description The amount that will be debited from the sending customer's account as a consequence of the transaction. */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description The amount that will be credited to the receiving customer's account as a consequence of the transaction. */ - payeeReceiveAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description The amount of fees that the paying customer will be charged as part of the transaction. */ - fees: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; + transferAmount: components["schemas"]["Money"]; + /** @description The amount that will be credited to the receiving customer's account as a consequence of the transaction. */ + payeeReceiveAmount: components["schemas"]["Money"]; + /** @description The amount of fees that the paying customer will be charged as part of the transaction. */ + fees: components["schemas"]["Money"]; /** @description Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. */ - payer: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + payer: components["schemas"]["PartyIdInfo"]; /** @description Information about the Payee in the proposed financial transaction. */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; + payee: components["schemas"]["Party"]; + transactionType: components["schemas"]["TransactionType"]; /** @description The time by which the transfer must be completed, set by the payee DFSP. */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + expiration: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * AuthorizationResponseTypeRejected @@ -8119,32 +2116,8 @@ export interface components { * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. */ ThirdpartyRequestsAuthorizationsIDPutResponseRejected: { - /** - * AuthorizationResponseTypeRejected - * @description The customer rejected the terms of the transfer. - * - * @enum {string} - */ - responseType: "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + responseType: components["schemas"]["AuthorizationResponseTypeRejected"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * AuthorizationResponseType @@ -8200,131 +2173,17 @@ export interface components { }; /** SignedPayloadFIDO */ SignedPayloadFIDO: { - /** - * SignedPayloadTypeFIDO - * @description Describes a challenge that has been signed with FIDO Attestation flows - * @enum {string} - */ - signedPayloadType: "FIDO"; - /** - * FIDOPublicKeyCredentialAssertion - * @description A data model representing a FIDO Assertion result. - * Derived from PublicKeyCredential Interface in WebAuthN. - * - * The PublicKeyCredential interface represents the below fields with a Type of - * Javascript ArrayBuffer. - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - * - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - */ - fidoSignedPayload: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded. */ - rawId: string; - /** @description AuthenticatorAssertionResponse */ - response: { - /** @description Authenticator data object. */ - authenticatorData: string; - /** @description JSON string with client data. */ - clientDataJSON: string; - /** @description The signature generated by the private key associated with this credential. */ - signature: string; - /** - * @description This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; + signedPayloadType: components["schemas"]["SignedPayloadTypeFIDO"]; + fidoSignedPayload: components["schemas"]["FIDOPublicKeyCredentialAssertion"]; }; /** * ThirdpartyRequestsAuthorizationsIDPutResponseFIDO * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. */ ThirdpartyRequestsAuthorizationsIDPutResponseFIDO: { - /** - * AuthorizationResponseType - * @description The customer accepted the terms of the transfer - * - * @enum {string} - */ - responseType: "ACCEPTED"; - /** SignedPayloadFIDO */ - signedPayload: { - /** - * SignedPayloadTypeFIDO - * @description Describes a challenge that has been signed with FIDO Attestation flows - * @enum {string} - */ - signedPayloadType: "FIDO"; - /** - * FIDOPublicKeyCredentialAssertion - * @description A data model representing a FIDO Assertion result. - * Derived from PublicKeyCredential Interface in WebAuthN. - * - * The PublicKeyCredential interface represents the below fields with a Type of - * Javascript ArrayBuffer. - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - * - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - */ - fidoSignedPayload: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded. */ - rawId: string; - /** @description AuthenticatorAssertionResponse */ - response: { - /** @description Authenticator data object. */ - authenticatorData: string; - /** @description JSON string with client data. */ - clientDataJSON: string; - /** @description The signature generated by the private key associated with this credential. */ - signature: string; - /** - * @description This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + responseType: components["schemas"]["AuthorizationResponseTypeAccepted"]; + signedPayload: components["schemas"]["SignedPayloadFIDO"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * SignedPayloadTypeGeneric @@ -8334,176 +2193,51 @@ export interface components { SignedPayloadTypeGeneric: "GENERIC"; /** SignedPayloadGeneric */ SignedPayloadGeneric: { - /** - * SignedPayloadTypeGeneric - * @description Describes a challenge that has been signed with a private key - * @enum {string} - */ - signedPayloadType: "GENERIC"; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - genericSignedPayload: string; + signedPayloadType: components["schemas"]["SignedPayloadTypeGeneric"]; + genericSignedPayload: components["schemas"]["BinaryString"]; }; /** * ThirdpartyRequestsAuthorizationsIDPutResponseGeneric * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. */ ThirdpartyRequestsAuthorizationsIDPutResponseGeneric: { - /** - * AuthorizationResponseType - * @description The customer accepted the terms of the transfer - * - * @enum {string} - */ - responseType: "ACCEPTED"; - /** SignedPayloadGeneric */ - signedPayload: { - /** - * SignedPayloadTypeGeneric - * @description Describes a challenge that has been signed with a private key - * @enum {string} - */ - signedPayloadType: "GENERIC"; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - genericSignedPayload: string; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + responseType: components["schemas"]["AuthorizationResponseTypeAccepted"]; + signedPayload: components["schemas"]["SignedPayloadGeneric"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ThirdpartyRequestsVerificationsPostRequestFIDO * @description The object sent in the POST /thirdpartyRequests/verifications request. */ ThirdpartyRequestsVerificationsPostRequestFIDO: { - verificationRequestId: string; + verificationRequestId: components["schemas"]["CorrelationId"]; /** @description Base64 encoded bytes - The challenge generated by the DFSP. */ challenge: string; /** * @description The id of the stored consent object that contains the credential with which to verify * the signed challenge against. */ - consentId: string; - /** - * SignedPayloadTypeFIDO - * @description Describes a challenge that has been signed with FIDO Attestation flows - * @enum {string} - */ - signedPayloadType: "FIDO"; - /** - * FIDOPublicKeyCredentialAssertion - * @description A data model representing a FIDO Assertion result. - * Derived from PublicKeyCredential Interface in WebAuthN. - * - * The PublicKeyCredential interface represents the below fields with a Type of - * Javascript ArrayBuffer. - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - * - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - */ - fidoSignedPayload: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded. */ - rawId: string; - /** @description AuthenticatorAssertionResponse */ - response: { - /** @description Authenticator data object. */ - authenticatorData: string; - /** @description JSON string with client data. */ - clientDataJSON: string; - /** @description The signature generated by the private key associated with this credential. */ - signature: string; - /** - * @description This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + consentId: components["schemas"]["CorrelationId"]; + signedPayloadType: components["schemas"]["SignedPayloadTypeFIDO"]; + fidoSignedPayload: components["schemas"]["FIDOPublicKeyCredentialAssertion"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * ThirdpartyRequestsVerificationsPostRequestGeneric * @description The object sent in the POST /thirdpartyRequests/verifications request. */ ThirdpartyRequestsVerificationsPostRequestGeneric: { - verificationRequestId: string; + verificationRequestId: components["schemas"]["CorrelationId"]; /** @description Base64 encoded bytes - The challenge generated by the DFSP. */ challenge: string; /** * @description The id of the stored consent object that contains the credential with which to verify * the signed challenge against. */ - consentId: string; - /** - * SignedPayloadTypeGeneric - * @description Describes a challenge that has been signed with a private key - * @enum {string} - */ - signedPayloadType: "GENERIC"; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - genericSignedPayload: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + consentId: components["schemas"]["CorrelationId"]; + signedPayloadType: components["schemas"]["SignedPayloadTypeGeneric"]; + genericSignedPayload: components["schemas"]["BinaryString"]; + extensionList?: components["schemas"]["ExtensionList"]; }; /** * AuthenticationResponse @@ -8519,32 +2253,8 @@ export interface components { * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31821-put-thirdpartyrequestsverificationsid */ ThirdpartyRequestsVerificationsIDPutResponse: { - /** - * AuthenticationResponse - * @description The AuthenticationResponse enumeration describes the result of authenticating verification request. - * Below are the allowed values for the enumeration AuthenticationResponse. - VERIFIED - The challenge was correctly signed. - * @enum {string} - */ - authenticationResponse: "VERIFIED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; + authenticationResponse: components["schemas"]["AuthenticationResponse"]; + extensionList?: components["schemas"]["ExtensionList"]; }; }; responses: { @@ -8554,426 +2264,58 @@ export interface components { 202: unknown; /** Bad Request */ 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Unauthorized */ 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Forbidden */ 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Not Found */ 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Method Not Allowed */ 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Not Acceptable */ 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Not Implemented */ 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; /** Service Unavailable */ 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; + headers: {}; content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; }; @@ -9037,2604 +2379,20 @@ export interface operations { requestBody: { content: { "application/json": - | { - /** @description List of PartyResult elements that were either created or failed to be created. */ - partyList: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - /** - * Party - * @description Data model for the complex type Party. - */ - party: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - } - | { - /** - * Money - * @description Data model for the complex type Money. - */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - ilpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - /** - * TransactionState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionState: - | "RECEIVED" - | "PENDING" - | "COMPLETED" - | "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | ("ACCEPTED" | "REJECTED") - | "ISSUED" - | string - | string - | string - | { - /** - * PartyIdTypeTPLink - * @description - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - } - | ("THIRD_PARTY_DFSP" | "PISP" | "AUTH_SERVICE") - | { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - requestId: string; - /** - * @description List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - quoteId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId?: string; - /** - * Party - * @description Data model for the complex type Party. - */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * Party - * @description Data model for the complex type Party. - */ - payer: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * AmountType - * @description Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - * @example RECEIVE - * @enum {string} - */ - amountType: "SEND" | "RECEIVE"; - /** - * Money - * @description Data model for the complex type Money. - */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * Money - * @description Data model for the complex type Money. - */ - fees?: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - longitude: string; - }; - /** - * Note - * @description Memo assigned to transaction. - * @example Note sent to Payee. - */ - note?: string; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ParticipantsIDPutResponse"] + | components["schemas"]["PartiesTypeIDPutResponse"] + | components["schemas"]["QuotesIDPutResponse"] + | components["schemas"]["ThirdpartyRequestsTransactionsIDPatchResponse"] + | components["schemas"]["AuthorizationResponseType"] + | components["schemas"]["ConsentStatusIssued"] + | components["schemas"]["IlpFulfilment"] + | components["schemas"]["Integer"] + | components["schemas"]["Note"] + | components["schemas"]["PartyIdInfoTPLink"] + | components["schemas"]["PartyResult"] + | components["schemas"]["ServiceType"] + | components["schemas"]["ParticipantsPostRequest"] + | components["schemas"]["QuotesPostRequest"]; }; }; }; @@ -11643,462 +2401,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking */ @@ -12106,686 +2447,53 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { - "application/json": { - /** - * AccountList - * @description The AccountList data model is used to hold information about the accounts that a party controls. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist - */ - accounts: { - /** - * Name - * @description The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - accountNickname: string; - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["AccountsIDPutResponse"]; }; }; }; @@ -12794,1371 +2502,83 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Details of the error returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; /** The HTTP request GET /health is used to return the current status of the API. */ HealthGet: { responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** The HTTP request GET /metrics is used to return metrics for the API. */ MetricsGet: { responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -14169,520 +2589,52 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** The consentRequest to create */ requestBody: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - consentRequestId: string; - /** @description The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest` */ - userId: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: ("WEB" | "OTP")[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ConsentRequestsPostRequest"]; }; }; }; @@ -14695,462 +2647,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -15168,563 +2703,55 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { "application/json": - | { - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: "WEB"[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri: string; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - authUri: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - authChannels: "OTP"[]; - /** - * Uri - * @description The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - callbackUri?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ConsentRequestsIDPutResponseWeb"] + | components["schemas"]["ConsentRequestsIDPutResponseOTP"]; }; }; }; @@ -15733,494 +2760,55 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { - "application/json": { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - authToken: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ConsentRequestsIDPatchRequest"]; }; }; }; @@ -16229,508 +2817,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Error information returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -16739,636 +2873,53 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { "application/json": - | { - /** - * @description Common ID between the PISP and FSP for the Consent object - * determined by the DFSP who creates the Consent. - */ - consentId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - consentRequestId?: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusPending - * @description The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - * - * @enum {string} - */ - status: "PENDING"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ConsentStatus - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "ISSUED" | "REVOKED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * @description Common ID between the PISP and the Payer DFSP for the consent object. The ID - * should be reused for re-sends of the same consent. A new ID should be generated - * for each new consent. - */ - consentId: string; - /** @description The ID given to the original consent request on which this consent is based. */ - consentRequestId: string; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * ConsentStatus - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "ISSUED" | "REVOKED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ConsentsPostRequestAUTH"] + | components["schemas"]["ConsentsPostRequestPISP"]; }; }; }; @@ -17377,462 +2928,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -17845,694 +2979,56 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { "application/json": - | { - /** - * ConsentStatusIssued - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * @enum {string} - */ - status?: "ISSUED"; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * SignedCredential - * @description A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * SignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when - * updating a credential. - */ - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusPending - * @description The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - * - * @enum {string} - */ - status: "PENDING"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * ConsentStatusIssued - * @description Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * @enum {string} - */ - status?: "ISSUED"; - scopes: { - /** - * AccountAddress - * @description The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of: - * Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.) - * - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character - * An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain. - * IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case). - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress - */ - address: string; - actions: ( - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT" - )[]; - }[]; - /** - * VerifiedCredential - * @description A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * VerifiedCredential is a special formatting of Credential to allow us to be - * more explicit about the `status` field - it should only ever be VERIFIED when - * updating a credential. - */ - credential: { - /** - * CredentialType - * @description The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object. - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype - * @enum {string} - */ - credentialType: "FIDO" | "GENERIC"; - /** - * CredentialStatusVerified - * @description The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - * - * @enum {string} - */ - status: "VERIFIED"; - /** - * GenericCredential - * @description A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - publicKey: string; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - signature: string; - }; - /** - * FIDOPublicKeyCredentialAttestation - * @description A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). - * - * The `PublicKeyCredential` interface represents the below fields with - * a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer). - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - */ - fidoPayload?: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded */ - rawId?: string; - /** @description AuthenticatorAttestationResponse */ - response: { - /** @description JSON string with client data */ - clientDataJSON: string; - /** @description CBOR.encoded attestation object */ - attestationObject: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ConsentsIDPutResponseSigned"] + | components["schemas"]["ConsentsIDPutResponseVerified"]; }; }; }; @@ -18548,462 +3044,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -19023,537 +3102,57 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { "application/json": - | { - credential: { - /** - * CredentialStatusVerified - * @description The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - * - * @enum {string} - */ - status: "VERIFIED"; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * ConsentStatusRevoked - * @description Allowed values for the enumeration ConsentStatus - * - REVOKED - The consent has been revoked - * @enum {string} - */ - status: "REVOKED"; - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - revokedAt: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ConsentsIDPatchResponseVerified"] + | components["schemas"]["ConsentsIDPatchResponseRevoked"]; }; }; }; @@ -19562,508 +3161,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Error information returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -20072,747 +3217,52 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Participant information to be created. */ requestBody: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - requestId: string; - /** - * @description List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; + "application/json": components["schemas"]["ParticipantsPostRequest"]; }; }; }; @@ -20821,782 +3271,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Participant information returned. */ requestBody: { content: { - "application/json": { - /** @description List of PartyResult elements that were either created or failed to be created. */ - partyList: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; + "application/json": components["schemas"]["ParticipantsIDPutResponse"]; }; }; }; @@ -21605,508 +3327,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Details of the error returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -22115,464 +3383,47 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party. */ @@ -22580,479 +3431,56 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Participant information returned. */ requestBody: { content: { - "application/json": { - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - }; + "application/json": components["schemas"]["ParticipantsTypeIDPutResponse"]; }; }; }; @@ -23061,670 +3489,58 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Participant information to be created. */ requestBody: { content: { - "application/json": { - /** - * FspId - * @description FSP identifier. - */ - fspId: string; - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; }; }; }; @@ -23737,464 +3553,47 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used. */ @@ -24202,510 +3601,56 @@ export interface operations { parameters: { path: { /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; + Type: components["parameters"]["Type"]; /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Details of the error returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -24717,462 +3662,45 @@ export interface operations { parameters: { path: { /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - ServiceType: string; + ServiceType: components["parameters"]["ServiceType"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -25183,491 +3711,53 @@ export interface operations { parameters: { path: { /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - ServiceType: string; + ServiceType: components["parameters"]["ServiceType"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { - "application/json": { - providers: string[]; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ServicesServiceTypePutResponse"]; }; }; }; @@ -25676,508 +3766,54 @@ export interface operations { parameters: { path: { /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - ServiceType: string; + ServiceType: components["parameters"]["ServiceType"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Details of the error returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -26186,998 +3822,52 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Transaction request to be created. */ requestBody: { content: { - "application/json": { - /** @description Common ID between the PISP and the Payer DFSP for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. */ - transactionRequestId: string; - /** @description Information about the Payee in the proposed financial transaction. */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** @description Information about the Payer in the proposed financial transaction. */ - payer: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description SEND for sendAmount, RECEIVE for receiveAmount. */ - amountType: "SEND" | "RECEIVE"; - /** @description Requested amount to be transferred from the Payer to Payee. */ - amount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description Type of transaction. */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** @description A memo that will be attached to the transaction. */ - note?: string; - /** - * @description Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. - * - * @example 2016-05-24T08:38:08.699-04:00 - */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ThirdpartyRequestsTransactionsPostRequest"]; }; }; }; @@ -27189,462 +3879,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -27657,511 +3930,53 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionId?: string; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ThirdpartyRequestsTransactionsIDPutResponse"]; }; }; }; @@ -28175,524 +3990,55 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; requestBody: { content: { - "application/json": { - /** - * DateTime - * @description The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - * @example 2016-05-24T08:38:08.699-04:00 - */ - completedTimestamp?: string; - /** - * TransactionRequestState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - /** - * TransactionState - * @description Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. - * @example RECEIVED - * @enum {string} - */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ThirdpartyRequestsTransactionsIDPatchResponse"]; }; }; }; @@ -28706,508 +4052,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Error information returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -29216,1363 +4108,52 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Authorization request details */ requestBody: { content: { - "application/json": { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - authorizationRequestId: string; - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - transactionRequestId: string; - /** @description The challenge that the PISP's client is to sign */ - challenge: string; - /** @description The amount that will be debited from the sending customer's account as a consequence of the transaction. */ - transferAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description The amount that will be credited to the receiving customer's account as a consequence of the transaction. */ - payeeReceiveAmount: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description The amount of fees that the paying customer will be charged as part of the transaction. */ - fees: { - /** - * Currency - * @description The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - * @enum {string} - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Amount - * @description The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - * @example 123.45 - */ - amount: string; - }; - /** @description Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. */ - payer: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** @description Information about the Payee in the proposed financial transaction. */ - payee: { - /** - * PartyIdInfo - * @description Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * PartyIdType - * @description Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - * - * @example PERSONAL_ID - * @enum {string} - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * PartyIdentifier - * @description Identifier of the Party. - * @example 16135551212 - */ - partyIdentifier: string; - /** - * PartySubIdOrType - * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FspId - * @description FSP identifier. - */ - fspId?: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - /** - * MerchantClassificationCode - * @description A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * PartyName - * @description Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * PartyPersonalInfo - * @description Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * PartyComplexName - * @description Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * FirstName - * @description First name of the Party (Name Type). - * @example Henrik - */ - firstName?: string; - /** - * MiddleName - * @description Middle name of the Party (Name Type). - * @example Johannes - */ - middleName?: string; - /** - * LastName - * @description Last name of the Party (Name Type). - * @example Karlsson - */ - lastName?: string; - }; - /** - * DateofBirth (type Date) - * @description Date of Birth of the Party. - * @example 1966-06-16 - */ - dateOfBirth?: string; - }; - }; - /** - * TransactionType - * @description Data model for the complex type TransactionType. - */ - transactionType: { - /** - * TransactionScenario - * @description Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - * @example DEPOSIT - * @enum {string} - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * TransactionSubScenario - * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - * @example LOCALLY_DEFINED_SUBSCENARIO - */ - subScenario?: string; - /** - * TransactionInitiator - * @description Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - * @example PAYEE - * @enum {string} - */ - initiator: "PAYER" | "PAYEE"; - /** - * TransactionInitiatorType - * @description Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - * @example CONSUMER - * @enum {string} - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Refund - * @description Data model for the complex type Refund. - */ - refundInfo?: { - /** - * CorrelationId - * @description Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - * @example b51ec534-ee48-4575-b6a9-ead2955b8069 - */ - originalTransactionId: string; - /** - * RefundReason - * @description Reason for the refund. - * @example Free text indicating reason for the refund. - */ - refundReason?: string; - }; - /** - * BalanceOfPayments - * @description (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - * @example 123 - */ - balanceOfPayments?: string; - }; - /** @description The time by which the transfer must be completed, set by the payee DFSP. */ - expiration: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ThirdpartyRequestsAuthorizationsPostRequest"]; }; }; }; @@ -30585,462 +4166,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -31054,614 +4218,57 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Signed authorization object */ requestBody: { content: { "application/json": - | { - /** - * AuthorizationResponseTypeRejected - * @description The customer rejected the terms of the transfer. - * - * @enum {string} - */ - responseType: "REJECTED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * AuthorizationResponseType - * @description The customer accepted the terms of the transfer - * - * @enum {string} - */ - responseType: "ACCEPTED"; - /** SignedPayloadFIDO */ - signedPayload: { - /** - * SignedPayloadTypeFIDO - * @description Describes a challenge that has been signed with FIDO Attestation flows - * @enum {string} - */ - signedPayloadType: "FIDO"; - /** - * FIDOPublicKeyCredentialAssertion - * @description A data model representing a FIDO Assertion result. - * Derived from PublicKeyCredential Interface in WebAuthN. - * - * The PublicKeyCredential interface represents the below fields with a Type of - * Javascript ArrayBuffer. - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - * - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - */ - fidoSignedPayload: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded. */ - rawId: string; - /** @description AuthenticatorAssertionResponse */ - response: { - /** @description Authenticator data object. */ - authenticatorData: string; - /** @description JSON string with client data. */ - clientDataJSON: string; - /** @description The signature generated by the private key associated with this credential. */ - signature: string; - /** - * @description This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * AuthorizationResponseType - * @description The customer accepted the terms of the transfer - * - * @enum {string} - */ - responseType: "ACCEPTED"; - /** SignedPayloadGeneric */ - signedPayload: { - /** - * SignedPayloadTypeGeneric - * @description Describes a challenge that has been signed with a private key - * @enum {string} - */ - signedPayloadType: "GENERIC"; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - genericSignedPayload: string; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ThirdpartyRequestsAuthorizationsIDPutResponseRejected"] + | components["schemas"]["ThirdpartyRequestsAuthorizationsIDPutResponseFIDO"] + | components["schemas"]["ThirdpartyRequestsAuthorizationsIDPutResponseGeneric"]; }; }; }; @@ -31679,508 +4286,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Error information returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; }; @@ -32189,580 +4342,54 @@ export interface operations { parameters: { header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** The thirdparty authorization details to verify */ requestBody: { content: { "application/json": - | { - verificationRequestId: string; - /** @description Base64 encoded bytes - The challenge generated by the DFSP. */ - challenge: string; - /** - * @description The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * SignedPayloadTypeFIDO - * @description Describes a challenge that has been signed with FIDO Attestation flows - * @enum {string} - */ - signedPayloadType: "FIDO"; - /** - * FIDOPublicKeyCredentialAssertion - * @description A data model representing a FIDO Assertion result. - * Derived from PublicKeyCredential Interface in WebAuthN. - * - * The PublicKeyCredential interface represents the below fields with a Type of - * Javascript ArrayBuffer. - * For this API, we represent ArrayBuffers as base64 encoded utf-8 strings. - * - * https://github.com/mojaloop/documentation/blob/master/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion - */ - fidoSignedPayload: { - /** - * @description credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** @description raw credential id: identifier of pair of keys, base64 encoded. */ - rawId: string; - /** @description AuthenticatorAssertionResponse */ - response: { - /** @description Authenticator data object. */ - authenticatorData: string; - /** @description JSON string with client data. */ - clientDataJSON: string; - /** @description The signature generated by the private key associated with this credential. */ - signature: string; - /** - * @description This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * @description response type, we need only the type of public-key - * @enum {string} - */ - type: "public-key"; - }; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - } - | { - verificationRequestId: string; - /** @description Base64 encoded bytes - The challenge generated by the DFSP. */ - challenge: string; - /** - * @description The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * SignedPayloadTypeGeneric - * @description Describes a challenge that has been signed with a private key - * @enum {string} - */ - signedPayloadType: "GENERIC"; - /** @description The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. */ - genericSignedPayload: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + | components["schemas"]["ThirdpartyRequestsVerificationsPostRequestFIDO"] + | components["schemas"]["ThirdpartyRequestsVerificationsPostRequestGeneric"]; }; }; }; @@ -32775,462 +4402,45 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** The `Accept` header field indicates the version of the API the client would like the server to use. */ - Accept: string; + Accept: components["parameters"]["Accept"]; }; }; responses: { - /** Accepted */ - 202: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 202: components["responses"]["202"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; }; /** @@ -33242,498 +4452,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** The result of validating the Thirdparty Transaction Request */ requestBody: { content: { - "application/json": { - /** - * AuthenticationResponse - * @description The AuthenticationResponse enumeration describes the result of authenticating verification request. - * Below are the allowed values for the enumeration AuthenticationResponse. - VERIFIED - The challenge was correctly signed. - * @enum {string} - */ - authenticationResponse: "VERIFIED"; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; + "application/json": components["schemas"]["ThirdpartyRequestsVerificationsIDPutResponse"]; }; }; }; @@ -33745,508 +4511,54 @@ export interface operations { parameters: { path: { /** The identifier value. */ - ID: string; + ID: components["parameters"]["ID"]; }; header: { /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; + "Content-Type": components["parameters"]["Content-Type"]; /** The `Date` header field indicates the date when the request was sent. */ - Date: string; + Date: components["parameters"]["Date"]; /** * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - "X-Forwarded-For"?: string; + "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; /** The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - "FSPIOP-Source": string; + "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; /** The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. */ - "FSPIOP-Destination"?: string; + "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; /** The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. */ - "FSPIOP-Encryption"?: string; + "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; /** The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - "FSPIOP-Signature"?: string; + "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; /** The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-URI"?: string; + "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; /** The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - "FSPIOP-HTTP-Method"?: string; + "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - "Content-Length"?: number; + "Content-Length"?: components["parameters"]["Content-Length"]; }; }; responses: { - /** OK */ - 200: unknown; - /** Bad Request */ - 400: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Unauthorized */ - 401: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Forbidden */ - 403: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Found */ - 404: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Method Not Allowed */ - 405: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Acceptable */ - 406: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Not Implemented */ - 501: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - /** Service Unavailable */ - 503: { - headers: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - "Content-Type": string; - }; - content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; + 200: components["responses"]["200"]; + 400: components["responses"]["400"]; + 401: components["responses"]["401"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 405: components["responses"]["405"]; + 406: components["responses"]["406"]; + 501: components["responses"]["501"]; + 503: components["responses"]["503"]; }; /** Error information returned. */ requestBody: { content: { - "application/json": { - /** - * ErrorInformation - * @description Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * ErrorCode - * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - * @example 5100 - */ - errorCode: string; - /** - * ErrorDescription - * @description Error description string. - */ - errorDescription: string; - /** - * ExtensionList - * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** @description Number of Extension elements. */ - extension: { - /** - * ExtensionKey - * @description Extension key. - */ - key: string; - /** - * ExtensionValue - * @description Extension value. - */ - value: string; - }[]; - }; - }; - }; + "application/json": components["schemas"]["ErrorInformationObject"]; }; }; };